redis值被初始化,大佬求解

陈先生_MrChen 2018-03-21 09:58:43
我遇到的情况是有三个类A,B,C。其中C类是用来做缓存用的类,里面的byuid函数用来绑定用户的,在byuid里hGetAll获取对应玩家的redis缓存数据。有个save函数用来更新用户信息。里面进行了hMset操作。
在A类的函数funcA里 C::byuid后进行一些数据操作save一下,在funcA里又调用了B类里的函数funcB。
在funcB里也进行了C:byuid,后进行了一些操作,save一下。
我出现的问题就是在走一遍这个流程后,上次在funcB里存入redis的数据被清空了。而在funcA存入redis的数据没有被清空。这是为什么啊。
我自己打log后发现funcB确实已经存入了redis。但是为什么下次调用的时候还是被清空了
...全文
355 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-03-21
  • 打赏
  • 举报
回复
会冲突,redis 是但线程的,多头操作极易冲突
陈先生_MrChen 2018-03-21
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
键相同了吧? redis 只是一个缓存,应该统一用一个类来操控,你现在用三个类各行其事,很容易出现冲突的
会冲突么??我byuid的时候绑定的是同一个uid啊?
xuzuning 2018-03-21
  • 打赏
  • 举报
回复
键相同了吧? redis 只是一个缓存,应该统一用一个类来操控,你现在用三个类各行其事,很容易出现冲突的

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧