随笔分类 - redis
摘要:Redis持久化,一种是快照,一种是aof日志,快照是全量备份,是内存数据的二进制序列化,在存储上紧凑,而日志是连续的增量备份,是内存数据修改的指令记录文本,时间越长,日志变得越大,需要使用bgwriteaof对aof日志重写(原理是开辟子进程对内存遍历,转换一些列Redis的操作指令,序列号到一个
阅读全文
摘要:Redis哨兵机制容易丢失数据,可以设置min-slaves-to-write(表示主从节点必须至少有一个从节点在进行正常复制,否则停止对外写服务,丧失可用性)和min-slaves-max-lag(单位秒,如果在指定时间内没有收到从节点反馈,意味着从节点同步不正常)。Redis-cluster运行
阅读全文
摘要:Redis持久化,一种是快照,一种是aof日志,快照是全量备份,是内存数据的二进制序列化,在存储上紧凑,而日志是连续的增量备份,是内存数据修改的指令记录文本,时间越长,日志变得越大,需要使用bgwriteaof对aof日志重写(原理是开辟子进程对内存遍历,转换一些列Redis的操作指令,序列号到一个
阅读全文
摘要:一:缓存——热数据 热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,毕竟强大到冒泡的QPS和极强的稳定性不是所有类似工具都有的,而且相比于memcached还提供了丰富的数据类型可以使用,另外,内存中的数据也提供了AOF和RDB等持久化机制可以选择,要冷、热的还是
阅读全文
摘要:实现功能描述: redis服务器进行Master-slaver-slaver-....主从配置,通过2台sentinel进行failOver故障转移,自动切换,采用该代码完全可以直接用于实际生产环境。 题外话: 研究Redis也有一段时间了,在前面的Redis系列文章中,介绍了Redis的安装,集群
阅读全文
摘要:标题中的Sentinel:就连接池带哨兵模式,而不是CRUD带哨兵模式 在不使用redis3.0之后版本的情况下,对于redis服务端一般是采用Sentinel哨兵模式,也就是一主多备的方式。 这里,先抛出三个问题, 问题1:单节点宕机数据丢失?问题2:多节点(节点间没有主从关系)数据分片,采用sh
阅读全文
摘要:产生背景: 电脑中除了CPU和内存,其他都是IO设备,IO有性能瓶颈。 一开始有磁盘和内存,磁盘速度是ms毫秒,带宽是G/M级别,磁盘存储数据有IO缓存区,磁道,磁道有扇区,一个扇区分多少字节,查找数据是根据扇区查询的,扇区越小,查询的次数越多,现在系统一般都是4K扇区。 内存速度us微秒,带宽很大
阅读全文
摘要:本文介绍Redis的字典(是种Map)扩容与ConcurrentHashMap的扩容策略,并比较它们的优缺点。 (不讨论它们的实现细节) 首先Redis的字典采用的是一种‘’单线程渐进式rehash‘’,这里的单线程是指只有一个线程在扩容, 而在扩容的同时其他的线程可以并发的进行读写。 Redis系
阅读全文
摘要: //WHEN_EXHAUSTED_FAIL = 0; 直接抛出异常throw new NoSuchElementException("Pool exhausted"); //WHEN_EXHAUSTED_BLOCK = 1;borrowObject()将会...
阅读全文
摘要:原因:从redis数据库中根据String类型的参数取数据时报的异常解决方法:应该用字节数组读取低层次的数据,因为是我们自定义的一些对象格式,如图:这样就不报错了,可以正常读取redis数据库中的数据了。
阅读全文
摘要:1. Keys redis本质上一个key-value db,所以我们首先来看看他的key. 首先key也是字符串类型,但是key中不能包括边界字符;由于key不是binary safe的字符串,所以像"my key"和"mykey\n"这样包含空格和换行的key是不允许的,value也是有类型的,
阅读全文
摘要:1、连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证2、对value操作的命令exists(key):确认一个key是否存在del(key):删除一个keytype(key):返回值的类型keys(pattern):返回满足给定pattern的所有keyrandom...
阅读全文