Redis 使用的 10 个小技巧( 二 )


但如果你运行的是一些类似于 cache 的东西,并且没有对 key 设置超时机制,可以考虑使用 allkeys-lru 回收机制 。我的建议是先在这里查看一下可行的方案 。
7、如果你的数据很重要,请使用 Try/Except如果必须确保关键性的数据可以被放入到 Redis 的实例中,我强烈建议将其放入 try/except 块中 。几乎所有的Redis客户端采用的都是“发送即忘”策略,因此经常需要考虑一个 key 是否真正被放到 Redis 数据库中了 。至于将 try/expect 放到 Redis 命令中的复杂性并不是本文要讲的,你只需要知道这样做可以确保重要的数据放到该放的地方就可以了 。
8、不要耗尽一个实例无论什么时候,只要有可能就分散多redis实例的工作量 。从3.0.0版本开始,Redis就支持集群了 。Redis集群允许你基于key范围分离出部分包含主/从模式的key 。完整的集群背后的“魔法”可以在这里找到 。
但如果你是在找教程,那这里是一个再适合不过的地方了 。如果不能选择集群,考虑一下命名空间吧,然后将你的key分散到多个实例之中 。关于怎样分配数据,在redis.io网站上有这篇精彩的评论 。
9、内核越多越好吗?!当然是错的 。Redis 是一个单线程进程,即使启用了持久化最多也只会消耗两个内核 。除非你计划在一台主机上运行多个实例——希望只会是在开发测试的环境下!——否则的话对于一个 Redis 实例是不需要2个以上内核的 。
10、高可用到目前为止 Redis Sentinel 已经经过了很全面的测试,很多用户已经将其应用到了生产环境中(包括 ObjectRocket ) 。如果你的应用重度依赖于 Redis,那就需要想出一个高可用方案来保证其不会掉线 。

来源:http://objectrocket.com/blog/...

【Redis 使用的 10 个小技巧】


推荐阅读