
Redis
horseber
飞是小李飞刀的飞,刀是小李飞刀的刀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一致性HASH
前面提到分布式数据库数据分区规则有【节点取余分区】【一致性哈希分区】【虚拟hash槽分区】一致性HASH原理:在处理负载策略时:一个hash环,从0到正整数 四个服务器ip计算的hash值肯定会落到这个hash环上的某一个点 根据hash(用户id)计算路由规则(hash值),然后看hash值落到了hash环的那个地方,根据hash值在hash环上的位置顺时针找距离最近的i...原创 2019-09-06 21:42:15 · 365 阅读 · 0 评论 -
Redis(八):Jedis原理
由于Redis是C语言写的,java语言要与C语言交互的方式JNI或网络通信。java 提供的Jedis客户端,操作Redis。Jedis源码地址:https://github.com/xetorthio/jedisredis是典型的cs架构。cs就会涉及到网络通信/通信协议。java使用socket,协议为Redis的RESP协议。RESP请求协议RedisSerializat...原创 2019-09-04 06:09:08 · 632 阅读 · 0 评论 -
Redis(十一):Redis分布式锁
1、分布式锁为什么需要使用分布式锁:因为synchronize和lock是一个JVM中线程级别的锁。如何应用部署在多台服务器上(多个JVM),那synchronize和lock就不起作用了。所以需要分布式锁来保证符合操作的原子性。2、分布式要保证的特点多进程可见 互斥 可重入(可选) 阻塞(可选) 性能好(可选) 高可用3、分布式锁实现方案1、基于数据库:2、zoo...原创 2019-09-05 06:53:17 · 308 阅读 · 0 评论 -
Redis(九):Redis持久化
1、RDB(默认持久化方式)RDB生成数据快照。RDB持久化配置:# 时间策略#表示900s内如果有1条是写入命令,就触发产生一次快照,可以理解为就进行一次备份save 900 1save 300 10save 60 10000#禁用RDB配置,也是非常容易的,只需要在save的最后一行写上:save ""# 文件名称dbfilename dump.rdb# 文件保存...原创 2019-09-04 06:09:33 · 105 阅读 · 0 评论 -
Redis(十):Redis发布与订阅
Redis发布与订阅是最简易版的消息中间件MQ。不支持AMQP,MQTT,Stomp等消息协议、消息也不支持持久化、事务等#订阅一个或多个频道的信息SUBSCRIBE channel [channel ...]#退订一个或多个频道的信息UNSUBSCRIBE channel [channel ...]#订阅一个或多个符合给定模式的频道。PSUBSCRIBE pattern ...原创 2019-09-04 06:09:53 · 130 阅读 · 0 评论 -
Redis(七):Redis数据淘汰策略
1、Redis数据淘汰Redis内存淘汰指的是用户存储的一些键被可以被Redis主动地从实例中删除,从而产生读miss的情况,内存的淘汰机制的初衷是为了更好地使用内存,用一定的缓存miss来换取内存的使用效率。2、开启方式:redis.conf中的maxmemory这个值来开启内存淘汰功能。 maxmemory为0的时候表示我们对Redis的内存使用没有限制。maxmemory ...原创 2019-09-04 06:08:45 · 153 阅读 · 0 评论 -
Redis(五):Redis集群
1、集群搭建必须要3个以后的主节点,否则在创建集群时会失败。1、将单机版的redis复制6份,放入新建文件夹redis-cluster中,分别为redis01~06。然后分别修改redis.conf配置文件。将端口号改为7001~7006,放开cluster-enabled yes的注释。并分别启动2、安装ruby环境:yum install ruby3、安装ruby的包管理器:y...原创 2019-09-03 06:55:35 · 168 阅读 · 0 评论 -
Redis(六):Redis数据结构
redis的值数据类型:String、List、Set、Hash、Sorted set(zset)redisObjectRedis内部使用一个redisObject对象来表示所有的key和value。所以每次在Redis数据库中创建一个键值对时,至少会创建两个对象,一个是键的redisObject对象,一个是值的redisObject对象typedef struct redisObj...原创 2019-09-03 07:10:35 · 130 阅读 · 0 评论 -
Redis(四):Redis哨兵模式
1、哨兵原理:哨兵机制的出现是为了解决主从复制的缺点的。Redis-sentinel本身也是一个独立运行的进程该进程执行以下三个任务:监控Sentinel 会不断地检查你的主服务器和从服务器是否运作正常 (每个sentine哨兵节点每隔1s会向主节点、从节点及其余哨兵节点发送一次ping命令做一次心跳检测,判断节点是否正常),每个sentine哨兵节点每10s会向主节点和从节点...原创 2019-09-03 06:54:39 · 406 阅读 · 0 评论 -
Redis(三):Redis主从搭建
1、配置主从主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性。【主节点】(可选配置)开启主从复制时使用密码验证: requirepass【从节点】方式一:在conf文件中 配置一行:slaveof 127.0.0.1 6379(主节点IP+端口)若主节点配置的密码验证:需要在从节点masterauth 配置密码从节点建议开启...原创 2019-09-03 06:55:05 · 250 阅读 · 0 评论 -
Redis(二):Redis安装
(先安装gcc环境:yum install gcc-c++) 1、下载redis.tar 2、解压 tar -zxvf redis-5.0.5.tar.gz -C /usr/local/redis/ 3、编译并安装 cd /usr/local/redis/redis-5.0.5 make PREFIX=/usr/local/redis install会在同级目录下...原创 2019-09-03 06:54:21 · 1278 阅读 · 0 评论 -
Redis(十二):Redis过期策略的实现原理
redis提供了为key设置过期时间,redis定时删除过期key。定时删除:实现:在设置键的过期时间的时候创建一个定时器,当过期时间到的时候立马执行删除操作。优点:可以做到及时删除缺点:会创建大量的定时器,严重影响性能惰性删除:实现原理:Redis收到获取key的指令,首先判断是否过期、若过期则执行删除操作、返回null优点:只有在获取单个key时候,做过期判断,删除...原创 2019-09-22 14:25:00 · 412 阅读 · 0 评论