总结与建议

    2.Redis更多场景是作为Memcached的替代者来使用。

    3.当需要除key/value之外的更多数据类型支持时,使用Redis更合适。

    4.当存储的数据不能被剔除时,使用Redis更合适。

    1.批量处理:

    redis在处理数据时,最好是要进行批量处理,将一次处理1条数据改为多条,性能可以成倍提高。测试的目的就是要弄清楚批量和 非批量处理之间的差别,性能差异非常大,所以在开发过程中尽量使用批量处理,即每次发送多条数据,以抵消网络速度影响。

    2.网络:

    3.内存:

    如果没有足够内存, linux可能将reids一部分数据放到交换分区, 导致读取速度非常慢导致超时。所以一定要预留足够多的内存供 redis使用。

    4.少用, 多用hashset

    作为一个key value存在,很多开发者自然的使用方式来使用Redis,实际上这并不是最优化的使用方法。尤其在未启用VM情况下,Redis全部数据需要放入内存,节约内存尤其重要。

    假如一个单元需要最小占用512字节,即使只存一个字节也占了512字节。这时候就有一个设计模式, 可以把key复用,几个key-value放入一个key中,value再作为一个set存入,这样同样512字节就会存放10-100倍的容量。

    这就是为了节约内存,建议使用hashset而不是set/get的方式来使用。

    《The Little Redis Book中文版》

    https://github.com/JasonLai256/the-little-redis-book

    《redis官方文档翻译》

    《为什么使用 Redis及其产品定位》