2018-12-19 17:11:57 1520次浏览 1条回答 0 悬赏 10 金钱

请教以下,我不管是用
Redis 的 list 列表

$redis->rpush('aaa','{"ssc_type":1,"period":"20181212043","award":"0;0;2;9;2","addtime":1545209965}')

来存储数据,
还是用set集合

$redis->sadd('aaa','{"ssc_type":1,"period":"20181212043","award":"0;0;2;9;2","addtime":1545209965}')

来存储数据,开始能成功,当我吧 aaa 删除后,再次存储的时候也显示状态成功,但是获取却获取不到数据,查看 Redis 也没有,相当于是存储此功能了,但马上就消失了。

请高手帮我解答一下是什么原因呢?我没有设置过过期时间,就是在 Redis 管理工具里,直接手动删除了aaa,再次存储就消失了,请知道的大神帮我解答以下是什么原因?

  • 回答于 2023-03-06 10:06 举报

    可能的原因有以下几种:

    Redis 配置文件中可能启用了数据持久化功能,导致 Redis 在重启后无法找到之前存储的数据。可以检查一下 Redis 配置文件中是否启用了 AOF 或者 RDB 持久化功能。
    
    Redis 服务器可能设置了过期时间,导致存储的数据在一定时间后被自动删除。可以通过 Redis 的 TTL 命令查看 key 的过期时间。
    
    存储的数据可能因为某些原因无法正确解析或者存储到 Redis 中,导致数据存储失败。可以尝试使用其他数据格式或者检查存储的数据是否符合 Redis 数据格式要求。
    
    Redis 服务器可能存在问题,例如内存不足、网络异常等,导致数据存储失败或者无法读取数据。可以检查一下 Redis 服务器的状态和日志信息,查看是否存在异常。
    

    总之,需要仔细排查问题,确定具体原因,才能找到解决方法。建议您在使用 Redis 存储数据时,遵循 Redis 的数据存储规范和最佳实践,并定期备份和监控 Redis 服务器状态,以确保数据的可靠性和安全性。

您需要登录后才可以回答。登录 | 立即注册
landong66
见习主管

landong66

注册时间:2015-01-29
最后登录:2020-04-16
在线时长:9小时3分
  • 粉丝2
  • 金钱115
  • 威望0
  • 积分205

热门问题