redis和ssdb比较类似,都提供有持久化和相同的数据结构,但是这两个服务最大的不同主要还是在内存的使用上。
redis的容量受内存的限制,所以我们不允许把长文本型的内容存储在redis内,一般超过10K,响应速度是无法接受的。
我们的建议是,存储关系数据和计数相关的数据,以及一些计算功能(排序、交集、并集、位图计算)。
而且,所有使用的KEY,均需要预先定义(RedisKEY)。
对于集合类型的数据结构,需要做好容量规划,对于超过100w条的记录,需要提前做好拆分。
Redis虽然很快,但还是会有延迟的可能,在开发的时候,需要自行考虑主从带来的问题,除非必要,否则不要强制某个操作走主库。
对于可以设置有效期的数据,请一定设置有效期,能设置有效期的数据,请先考虑使用memcache,除非memcache无法实现。
请只使用redis类提供的方法,自行扩展的方法后续将不会提供支持。
禁止使用具有scan功能的命令,如getAll()。
Redis如下:
-
RedisKey需要先定义后使用
-
Redis以存储关系型数据为主,不允许存放长文本型数据(<=1K)
-
使用Redis Set/ZSet/List时,需要衡量集合的大小(<=100w),且需要考虑慢查的问题
-
可以设置有效期的数据,优先考虑memcache,然后考虑使用redis
-
对于阻塞类型的命令禁止使用(如getAll)
-
线上采用Master-Slave模式,开发时需要考虑延迟问题,如非必要请不要强制使用主库
SSDB如下:
-
SSDB需要先定义后使用(和Redis一样)
-
SSDB可以存储关系数据,且允许存放中等类型的文本(<=10K)
-
集合类型的使用和Redis一样,需要考虑集合的大小和慢查问题
-
有效期同redis一样,能设置尽量设置
-
阻塞类命令禁止使用
-
同redis一样,线上采用主从模式,需要考虑延迟问题,如非必要请不要强制使用主库
(责任编辑:好模板) |