redis在我现在的项目中,一般有以下几种使用方法。
第一是应用于登录流程中。用户登录系统后,往往浏览器端持有一个token标识,当调用接口时,将这个token标识传给服务端。服务端获取这个token标识,以此查询出此用户的相关信息。为了减少对数据库的频繁查询,token对应的用户信息往往储存在redis中。用户信息往往以json字符串的形式储存。
第二是用于字典表的存储与读取。在系统中,比如业务字段的列表,往往只存储了code值,但是显示给用户需要以value值,这时去查询相关的字典数据库表,往往由于查询过于频繁,影响数据库性能。而且数据库的读取速度也比内存读取速度慢的太多了。所以字典存储在redis中优点很多,既快开销又小。字典在redis中的存储方式一般是hash格式,即(key, hkey, hvalue)格式。
但是上面这个方式有其局限性,字典的数量往往有限制,否则会受到2个限制,一是redis容量问题,二是数据同步开销增大。个人实践中,这个数量定为10000比较合适。