开发者学堂课程【Redis 入门到精通(基础篇): string 类型使用注意事项与 key 的命名规范】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/764/detail/13375
String 类型使用注意事项与key的命名规范
String 类型数据操作的注意事项
1. 数据操作不成功的反馈与数据正常操作之间的差异
表示运行结果是否成功
(integer)0->false 失败
(integer)1->true 成功
表示运行结果值
(integer)3->3个
(integer)1->1个
未获取到
(nil)等同于null
数据在大存储量,512MB
数据计算最大范围(Java中的long的最大值)
9223372036854775807
处理数据时会返回两种混淆都很高的东西,不单单是string,
我们所讲的所有类型都是这样,当他反馈结果是出现(integer)0跟(integer)1时代表的是失败与成功,这个时候的0跟1不能作为数值解读,而应该是false跟true来解读;
而有些操作则是给出数字,这个时候不能当作true跟false来解读,而应该当作几个来解读,这个要进行一个区分,就看指令究竟是什么,如果说问题是这个结果存在不存在,那么此时结果就是,true跟false,如果是看多长,这种看数据的就是个数,要正确认识;
如果说数据未查询到,那么此时返回的值则是(nil),等同于null,也就是不存在;
string 存储数据是有最大存储量的,也就是512MB,不需要去触碰这个天花板,没有必要,这个大型数据进入redis,会耗费很多时间,这种情况一般不会采用这种方式.如果在前面加个符号,然后就是我们这边的人来进行培训。
业务场景
主页高频访问信息显示控制,例如新浪微博大v主页显示粉丝数与微博数量。
在 redis 中为大V用户设定用户信息,以用户主键和属性作为key,后台设定定时刷新策略即可。
eg:user:id:3506728370.fans->12210947
Redis中以json格式存储大V用户信息,定时刷新(也可以使用hash类型)
eg:user:id:3506728370 ->
这些信息的核心在于热度,也就是说,突然某一件商品爆火后进行了处理,然后就需要进入我们的热类词里面,那如果说放到redis里面,那我们应该怎样放。
然后用自己的账号,就会很方便,可以看到多少粉丝,多少微博,等等,所有人登进去都会显示,这时这种就应该进入到我们的类似中。在放到redis中,直接写区分度比较低,redis里面我们会给出一个标准的规范方式,用表名、主键名、主键值后面跟上属性名来做key,然后中间加冒号,后面跟他的值。
然后进行一个模拟,进行set,user:id0789:fans 123456789,除了这个,再设置一个set user:id:00789 :blogs 789,通过这样一个标准格式不会找错,实际上输入不会输错,一般都是编程里面操作的,这样就能保证这个人的信息归属到这个人身上,换言之就是保存一个数据,
那么如果使用json,现在的情况就是user:id:00789,就打到这里,就可以查到相应的信息,然后后面跟上(id:00789,blog:789,fans:123456789),这样是放了一组数据,这两组数据都可以放,他们的差别在于,第一种,incr user:id:00789:fans的方式加上去,而第二种是没有办法去直接加的,只有先取出来才能加上,这两种格式没有哪一种好一点,都可以使用,第一种是改变数据,第二种是之间把相应的一系列数据都更改,在一定时间刷新就好了,所以说在适当的场合选择适当的方式方法即可。
Redis 应用于各种结构型和非结构型高热度数据访问加速。
Key 的设置约定
数据库中的热歌数据key命名惯例
表名 |
主键名 |
主键值 |
字段名 |
|
eg1 |
order |
id |
29437595 |
name |
eg2 |
equip |
id |
390472345 |
type |
eg3 |
news |
id |
202004150 |
title |