
redis系列文章
空杯沏
空杯之心,工匠之怀
展开
-
1.redis背景和使用场景
redis是互联网发展的产物,作为key—value的高效存储系统,为互联网应用提供高效的解决方案。redis基于c语言开发,并且提供了基本的数据结构list、set、map,还支持java、c++、.net等众多语言调用。redis存储的数据一般放在内存当中,这样加快了读取速度。redis的应用是无限的,根据它的特性,可以想象无限多的应用场景,下面是经常使用的场景:1.作为缓存使用,网站原创 2016-03-02 19:24:30 · 2806 阅读 · 2 评论 -
2.redis基础开发
初学者可能对于redis的开发有一定的模糊,下面介绍如何操作redis。 redis分为服务端,客户端,客户端去读写服务端的redis的时候,需要构造一些命令,并且通过socket传过去,redis服务器与客户端有自己的通信机制,举一个例子客户端需要存一个数据的时候 set mykey myvalue,需要构建这样一条命令*3\r\n$3\r\n"SET\r\n$5\r\nmyke原创 2016-03-02 20:18:22 · 434 阅读 · 0 评论 -
3.redis高并发
jedis操作redis的话,本质采用了socket模式,io读写(同步阻塞),当任务多的时候,会阻塞,造成获取不到连接资源,产生异常信息,如上一篇http://blog.youkuaiyun.com/yeyincai/article/details/50782432文章里面,当并发大的时候就会报异常信息。在研究java操作memcached的时候,进行并发测试,发现redis的qps比不过memcached原创 2016-03-02 20:38:34 · 1041 阅读 · 0 评论 -
4.redis分片
在一些特定的业务场景,或者数据量比较大的时候,redis可以像数据库一样分表分库,它的概念是分片,当数据量很大的时候,你需要把数据分配到不同的机器上,比如100条数据,redis-a有50条,redis-b有50条数据。jedis提供了这样操作的实现类,ShardedJedis。import java.util.Arrays;import java.util.List;import jav原创 2016-03-02 20:47:40 · 1180 阅读 · 0 评论 -
5.redis主从高可用
在实际应用当中,为了防止redis宕机出现的单点故障,我们采用了主从高可用模式去实现,这种方式的好处是简单,轻量。 实现原理是redis服务器里面启动一个sentinel,sentinel去监听redis服务,里面有master redis,也有多台slave redis,当客户端调用sentinel获取master服务器,并且发送命令到master服务器,slave会去同步mast原创 2016-03-02 21:05:15 · 515 阅读 · 0 评论 -
6.redis集群
考虑到互联网使用环境极其复杂,需要高效稳定的redis环境,redis3.0增加了cluster功能,可以给redis集群部署,这样的好处是性能稳定,但是缺点是非常重,运营不方便,并且至少需要部署6个节点,而且有坑。 下面转载了一个同学的文章来搭建集群部署环境,http://www.cnblogs.com/Xrinehart/p/3502213.html。import java.uti原创 2016-03-02 21:19:41 · 488 阅读 · 0 评论