gpt4 book ai didi

php - 有没有办法清除所有 session 中的某些 session 数据?

转载 作者:行者123 更新时间:2023-12-02 07:15:50 25 4
gpt4 key购买 nike

通常,我有以下情况:

  • 从数据库
  • 中获取产品及其相关数据
  • 将获取的数据转换为php'product'对象
  • 在 session
  • 中缓存产品对象

    缓存是只读的,即客户在网站上查看产品。

    但是,存在诸如 getProductIdsByCategory($categoryId)之类的调用,并且这些结果中的productId也按用户缓存,而不使用我已了解的全局缓存。

    问题是,如果管理员一方添加了新产品并将其与某个类别相关联,那么在开始新 session 之前,客户将不会在其缓存的 getProductIdsByCategory中出现新的productId。

    添加新产品时,是否可以从服务器上的所有 session 中清除 $_SESSION['x']等方法?我不想破坏所有 session ,因为客户随后将丢失其登录名等。

    还是应该将这些缓存的productId搜索移至全局缓存?

    p.s正在使用自定义构建的缓存,而不是memcached或类似缓存。

    谢谢

    最佳答案

    默认情况下, session 数据只是文件系统中某个位置的序列化文件,可以对它们全部进行修改以删除有问题的信息(考虑锁定,这样就不会踩到任何当前打开的 session )。

    不过,我真的不推荐它。我建议使用一种信号通知该缓存的数据应该刷新的方法,例如在session_start()发生时查看数据库存储的时间戳,如果缓存的数据早于时间戳,则刷新缓存。

    关于php - 有没有办法清除所有 session 中的某些 session 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1149821/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com