18. 总结

总结

  1. Redis使用最佳方式是全部数据in-memory。
  2. Redis更多场景是作为Memcached的替代者来使用。
  3. 当需要除key/value之外的更多数据类型支持时,使用Redis更合适。
  4. 当存储的数据不能被剔除时,使用Redis更合适。

建议

  1. 批量处理:Redis在处理数据时,最好是要进行批量处理,将一次处理1条数据改为多条,性能可以成倍提高。测试的目的就是要弄清楚批量和 非批量处理之间的差别,性能差异非常大,所以在开发过程中尽量使用批量处理,即每次发送多条数据,以抵消网络速度影响。
  2. 网络:Redis在处理时受网络影响非常大, 所以, 部署最好能在本机部署, 如果本机部署redis, 能获取10到20倍的性能。集群情况下, 网络硬件、网速要求一定要高。
  3. 内存:如果没有足够内存, Linux可能将reids一部分数据放到交换分区, 导致读取速度非常慢导致超时。所以一定要预留足够多的内存供 Redis使用。
  4. 少用get/set, 多用hashset:作为一个key value存在,很多开发者自然的使用set/get方式来使用Redis,实际上这并不是最优化的使用方法。尤其在未启用VM情况下,Redis全部数据需要放入内存,节约内存尤其重要。假如一个key-value单元需要最小占用512字节,即使只存一个字节也占了512字节。这时候就有一个设计模式, 可以把key复用,几个key-value放入一个key中,value再作为一个set存入,这样同样512字节就会存放10-100倍的容量。这就是为了节约内存,建议使用hashset而不是set/get的方式来使用Redis

命令速查

相关文档