前言
redis 是内存型数据库,读取data速度远快于mysql和sqlserver,如果将APP中列表信息或者一些常被访问的信息转存至内存上,然后APP通过redis读取内存上的数据,那么APP的用户体验也会提高。
注意
1.转存数据不宜超过内存的最大值,否则会导致系统的性能下降
2.注意垃圾回收,设计时多考虑数据的生命周期。
REDIS KEY
这里只简单介绍下Redis的key:
//向 key 赋值 value
SET key value
//用于删除key
DEL key
//用于检查key是否存在
EXISTS key
//给key 设置一个声明周期
EXPIRE key seconds
//查找所有符合pattern的key
KEYS pattern
//将当前key移至绑定的数据库db
MOVE key db
//移除key的生命周期
PERSIST key
//返回key的剩余时间 TTL time to live
PTTL key
//随机返回一个key
RANDOMKEY
//将key重新命名为newkey
RENAME key newkey
//返回key的类型
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和多出几步操作。