Jedis的简单使用

数据加速

Tom 创建于 2018-3-19

你可能感兴趣的内容:


对Java设计模式的简单理解

什么样的需求使用哪种模式

Jedis的简单使用

看了一些资料,Redis适合用小块数据的存储,还有分布式特性。于是就把Session放在里面,同时也做了一层数据库缓存。当然,InnoDB可以集成Memcached Plugin,业余有空再做个对比,据说Memcached比较适合大于128K的数据,Memcached不支持持久化。

效率

选用内存缓存,比写磁盘要快得多了。在低配电脑测试,内存操作同样的数据数据0.9ms,写磁盘10ms。数据量稍大的情况下,缓存很有必要。

集群特性

缓存组件可集群,只要局域网多一台机器,部署Redis,其他机器的服务器就能拿到相同的数据。当然现在大多都用IAAS,很多事情基础供应商已经考虑好了,集群和分布式不是必须的。

持久化

可以定期自动做快照,意外情况数据可以恢复。

数据结构

集合(set,…),单一的Key-Value结构
映射(hset,…),适合批量的Key-Field-Value结构
其他类型还有链表、带排序的集合等等,以后有机会可以挖掘。简单测了一下hset和set性能差距不大

管道

一次性拿很多数据的时候,使用管道(Pipeline)可以大幅提升大约10倍的性能。单一测试结果45000QPS,pipeline为510000QPS。测试的参数为-P 100

关于阻塞

数据量大的时候,尽量不要用高耗时的阻塞方法。Redis内部阻塞后,会出现宕机的情况。