大家好,我在菜鸟教程的 Redis 页面大概过了一下 redis 使用方法,遇到一些不清楚的地方。
其一是,redis 的基础数据类型中,key 的 api 很丰富,可以设置超时等等,但 list 和 hash 则没有这么丰富,不知道能否手动设置超时?一个典型的业务场景是,后端生成验证码校验,利用 redis 进行多节点间的同步,最方便的方式是 redis 里设置好超时时间,比如五分钟,这样用户申请验证的时候业务端只需要查一下 redis,如果能获取到数据就一切正常,如果获取不到数据就说明该验证码失效了,很清晰。
但是这种验证码如果使用 key 的话很不好管理,key 的数量会泛滥,最好放在同一个 hash 里面,而 hash 我观察网上写的 api,并没有超时功能,想请问一下是就是这么设计的还是有什么别的用法?
===
其二问题是,redis 有没有办法主动限制 hash 的存储量。典型业务场景是进行页面缓存管理,比如我服务器资源有限,我想限制 redis 最多保存一万条缓存,超过数量则按照先进先出方式滚动,这个是业务上的限制需求。我目前了解到的实现方式,以上实现似乎是通过限制 redis 最大内存占用量,然后占用达到最大后触发 redis 的自动清理,来实现限制缓存量,但这种控制感觉不是很精确,而且清理会不会除了指定内容外,对其他不希望清理的内容产生影响呢?请问一下这类需求该怎么实现,谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.