前言

redis 是内存型数据库,读取data速度远快于mysql和sqlserver,如果将APP中列表信息或者一些常被访问的信息转存至内存上,然后APP通过redis读取内存上的数据,那么APP的用户体验也会提高。

注意

1.转存数据不宜超过内存的最大值,否则会导致系统的性能下降

2.注意垃圾回收,设计时多考虑数据的生命周期。

REDIS KEY

这里只简单介绍下Redis的key:

1 //向 key 赋值 value
 2 SET key value
 3 //用于删除key
 4 DEL key
 5 //用于检查key是否存在
 6 EXISTS key 
 7 //给key 设置一个声明周期
 8 EXPIRE key seconds
 9 //查找所有符合pattern的key
10 KEYS pattern 
11 //将当前key移至绑定的数据库db
12 MOVE key db 
13 //移除key的生命周期
14 PERSIST key 
15 //返回key的剩余时间 TTL time to live
16 PTTL key 
17 //随机返回一个key
18 RANDOMKEY 
19 //将key重新命名为newkey
20 RENAME key newkey 
21 //返回key的类型
22 TYPE key

场景

场景一:DB与REDIS同步

我们这里以Mysql为例;

方法一:后端代码 insert / update / delete mysql时, 清空redis , 然后再将mysql中相关数据更新至redis中。

方法二:mysql 与 redis 同步,多使用 mysql udf redis 方法。

方法二性能远优于方法一,但是难度也超过方法一。

场景二:后台更新

如同cms框架一样,每更新一次信息就要生成相关的静态页面;

每一次更新DB,然后 renew redis ;这种方法的好处是 redis 不大会出现错误,也很容易监控redis的体积,方便多层监管,缺点就是并不real time和多出几步操作。