redis开发规范-实战篇

1 key的设计

1.1 统一管理

1 可读性
	以业务名(数据库名)为前缀,防止key冲突。例如.auth:user:id
2 可管理性 
	:为分割在管理工具好肉眼查看,操作时(crud)好找。例如:dispatch:task:taskId
3 简介性
	保障语义的前提下,要小于39字节。
	例如 student:course:message s:c:m 
4 不要包含特殊字符
	可能会导致其他问题

1.2 key限制大小解释

使用越小占用使用效率越高
3.*版本 
	emstr->39字节->raw
	emstr:一次内存分配
	raw:两次内存分配

4.*版本 
	emstr->44字节->raw
	emstr:一次内存分配
	raw:两次内存分配

2 value设计

bigkey问题

String : 10KB内
list set hash zset:5000个内 

2.1 数据结构应用的场景(选择的数据结构)

hash 可以用于实体存储, 
List 先进后出可以用于队列使用
Set 保存重复的临时信息信息 O(1)复杂度
ZSet 可用于排行榜

2.2 设置超时时间

1 根据业务设置超时时间,例如登录用户 EXPIRE user:1 3600()
2 大于某个时间key删除,具体方法:OBJECT IDLETIME <key> 返回给定 key 自储存以来的空转时间(idle, 没有被读取也没有被写入),以秒为单位。
3 随机超时删除值

3 避免bigkey

3.1 危害

1 网络阻塞
2 集群节点熟练不均匀
3 redis阻塞
4 频繁序列化消耗CPU资源

4 优化

1 使用连接池,(打印命令,打印异常)
 1.1 maxTotal = maxIdle
2 多个业务redis服务化处理

5 技巧 jedis redisson如何选择

redis官网java客户端

单应用:jedis 
分布式用:redisson

工具推荐

1 Another Redis Desktop Manager(推荐使用)

1 数据多使用
2 有数据监控
3 好看

2 RedisDesktopManager

数据少使用

总结

redis很好,学会一点规范,原则。能更好的提高效率,减小成本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值