1.尽量使用短的key,减少存储
2.避免使用keys *
因为keys * 是进程阻塞,执行期间,其他命令在实例中无法执行
3.设置key的有效期,及时清除过期数据
4.选择回收策略
5.使用bit位级别操作和byte字节级别操作来减少不必要的内存使用
6.在业务不使用持久化时,手动关闭,
7.使用 Pipeline:(管道,通道)
redis执行一次命令需要 1次网络时间 + 1次命令时间
执行 n 次命令需要 n次网络时间 + n 次命令时间
由于命令时间非常短,影响时间开销的主要是网络时间,所以我们可以把一组命令打包,然后一次发送过去
1 次 pipeline(n条命令) = 1 次网络时间 + n 次命令时间
可以看出pipeline可以大大减少网络时间
注意事项:
1.不能携带大量信息,容易对网络及客户端造成很大影响,使效果适得其反
2.pipeline每次只能作用在一个Redis节点上
Pipeline和mget,mset操作的区别
pipeline是一些命令的集合,mget是原子操作,不可分割