操作及拓展操作和Key的设置约定"/>
Redis学习2:课程安排、数据类型String操作及拓展操作和Key的设置约定
Redis学习课程计划
本系列文章是根据黑马程序员视频的学习笔记进行学习
数据类型介绍
业务数据的特殊性
最初定位是缓存来使用。
1、原始业务功能设计(秒杀方面、618、双11、12306等高数据并发)
2、运营平台监控到的突发高频访问数据
意思就是说最开始并不知道新闻是热点,一开始关注不到,但是可以监控到高频词了,所以可以加入到Redis中了。
3、高频、复杂的统计数据
比如说直播的在线人数、偶像团的投票刷票等等(实时刷新、快速响应)
附加功能
1、系统功能优化或者升级
比如说单服务群升级集群、session管理、token管理等。
数据类型(5种常用的)
右边是可以对应成java中的数据类型。
Redis存储数据格式
- 本身是一个Map,所有的数据都是采用的key:value的形式存储。
- 左边是string,右边才是数据类型。左边永远是string,没有什么操作的。
String类型简介
string的基本操作
返回的 1和0 要分清楚!一个是成功 一个是失败。
- 一次设置多个、一次取多个
m的意思是multi…的一个单词,意思是多的意思。
原本的age是200,追加了之后变成了200300,所以是返回的6。如果不存在那么就直接新建了。
单数据操作与多数据操作的选择困惑
- 一次是set,一次是mset。需要复原这个操作的实现过程有什么区别。
- set指令发送过去要消耗时间,redis执行要时间,返回result也要时间。
所以需要均衡发送时长、执行时长之间的关系。
一次发1亿条,那就需要切成100万条,发100次,就是需要理清楚对应的需要关系。
如果只需要发2个,那么肯定没什么差距。
所以没有什么明确的指令说明有什么区别。
如果一次性发很多,一定要进行切割,不然就没意义了,容易卡死。
string类型数据的拓展操作
- incr key 是增加一个 deor key 是减少一个单位
- incrby key 10 增加10个单位 decrby key 10 减少是个单位
- incrbyfloat key 1.5 是可以增加1.5个单位
- incrby 和 decr 后面增加+ -符号 也可以做加减的操作的!
这个就是不是一个整数或者超出范围。
拓展操作:数据的时效性
设置数据具有指定的生命周期!
- 如果先设直setex进行秒数的设置,然后再进行一个set的普通设置,那么就会自动进行普通设置的,不会再有秒数了。
- 所以可以通过数据是否失效控制业务行为!
string数据类型操作的注意事项
- 同时注意数值的最大范围!
java中是long的范围!
mysql用下划线分割,但是redis中是冒号
第一种方便操作,但是第二种是一改全改需要全改,但是方便查看。
所以需要根据使用场景来看。
key的设置约定
更多推荐
Redis学习2:课程安排、数据类型String操作及拓展操作和Key的设置约定
发布评论