Dav*_*her 2 php session caching global
一般来说,我有以下情况:
缓存是只读的,即客户在网站上查看产品.
但是有些调用getProductIdsByCategory($categoryId),这些结果的productId也被缓存,每个用户,而不是使用我读过的全局缓存.
问题在于,如果管理员端的某个人添加了新产品并将其与某个类别相关联,那么在getProductIdsByCategory新会话启动之前,客户将不会将新产品出现在他们的缓存中.
有没有办法在$_SESSION['x']添加新产品时清除服务器上的所有会话?我不想破坏所有会话,因为客户将丢失他们的登录等.
或者我应该将这些缓存的productId搜索移动到全局缓存中吗?
ps我正在使用自定义构建的缓存,而不是memcached或类似的.
谢谢
默认情况下,会话数据只是文件系统中某处的序列化文件,并且可以修改所有这些文件以删除有问题的信息(尊重锁定,这样您就不会踩到任何当前打开的会话).
不过我不是真的推荐它.我建议使用一种方法来表示应该刷新这个缓存的数据,就像数据库存储的时间戳在session_start()发生时查看,如果缓存的数据早于时间戳,则刷新缓存.
| 归档时间: |
|
| 查看次数: |
2989 次 |
| 最近记录: |