前言
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和多出几步操作。