redis value最大值_Redis 原理篇

50f5734904c30880b0a86cdc53a094ee.png

位图

用redis位图节约存储空间

set s h 整存

setbit s 1 1 设置第一位为1

get s 整取

getbit s 12 获取第12位

bitfield w get u3 2 从第3位开始取 取3位作为无符号数

bitfield w set u8 8 97 从第9位开始 接下来的8位用97代替

bitfield w incrby u4 2 1 从第三位开始 接下来的4位 加 1

默认折返,也就是为溢出截断。

溢出策略子指令 sat:保持最大值 fail: 失败不执行

bitfield w overflow sat/fail incrby u4 2 1

HyperLogLog 12KB

pfadd co u1 u2 u3

pfcount co

pfmerge co co1

分布式锁 延时队列(异步对列) 限流 漏斗限流


线程IO模型

单线程

1.事件轮询 多路复用 响应IO

2.定时任务 维护最小堆


通信协议

resp


持久化

快照+AOF

快照是二进制的序列化的增量备份

AOF是内存数据修改的指令记录文本,先执行 再序列化 需要定期瘦身

COW 多进程 copy on write

父子页面共享代码块与数据

父进程响应请求 修改页面 cow 会在修改时把共享页面复制出来

子进程进行序列化操作

AOF重写

bgrewriteaof

快照会遍历整个内存 AOF的fsync是个耗时的IO操作,降低性能,增加IO负担

因此采用主从复制

混合持久化

增量AOF日志 + rdb


管道

redis压力测试工具

> redis-benchmark -t set -q
set 5w/s
>redis-benchmark -t set -P 2 -q
Jedis jedis = new Jedis("192.168.229.128", 6379); 
// 开启管道
Pipeline pipelined = jedis.pipelined();
for(int i = 0; i < 100000; i++){
	pipelined.set(i + "", i + "");
}
// 提交命令
pipelined.sync();

事务

不具备原子性 仅仅具有隔离性中的串行化

一般事务: begin commit rollback

Redis: multi exec discard

乐观锁

jedis.watch(key);
int value = Integer.parseInt(jedis.get(key));
value *= 2;
//事务
Transaction tx = jedis.multi();
tx.set(key,value);
List<Object> res = tx.exec();
if(res!=null){
//成功
     break;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值