redis3,使用时注意点

但是你必须牢记以下两点——Redis是个内存数据库,同时它是单线程的http://www.csdn.net/article/2014-09-29/2821930-5-key-takeaways-for-developing-with-redis

1因为应用程序的某个模块弃用而忘掉这些数据。///1. 掌控储存在Redis中的所有键

Redis的弱结构数据模式让集中储存的内容很难被弄清,除非你为键使用一套非常成熟的命名法则。使用合适的命名方法会简化你的数据库管理,当你通过你的应用程序或者服务做键的命名空间时

2. 控制所有键名的长度

请别忘记,Redis是个内存数据库,键越短你需要的空间就越少。理所当然,当数据库中拥有数百万或者数十亿键时,键名的长度将影响重大。

3. 使用合适的数据结构.//string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)

不管是内存使用或者是性能,有的时候数据结构将产生很大的影响,下面是一些可以参考的最佳实践:

取代将数据存储为数千(或者数百万)独立的字符串,可以考虑使用哈希数据结构将相关数据进行分组。哈希表是非常有效率的,并且可以减少你的内存使用

合适时候,使用list代替set。如果你不需要使用set特性,List在使用更少内存的情况下可以提供比set更快的速度。//list(链表)、set(集合)

Sorted sets是最昂贵的数据结构,不管是内存消耗还是基本操作的复杂性。如果你只是需要一个查询记录的途径,并不在意排序这样的属性,那么轻建议使用哈希表。

Redis中一个经常被忽视的功能就是bitmaps或者bitsets(V2.2之后)。Bitsets允许你在Redis值上执行多个bit-level操作,比如一些轻量级的分析

4. 使用SCAN时别使用键

5. 使用服务器端Lua脚本

posted @ 2017-11-21 22:41  克维拉  阅读(316)  评论(0编辑  收藏  举报