string 类型使用注意事项与 key 的命名规范| 学习笔记

简介: 快速学习 string 类型使用注意事项与 key 的命名规范

开发者学堂课程【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

相关文章
|
3月前
|
数据安全/隐私保护
【Azure Function App】PowerShell Function 执行 Get-AzAccessToken 的返回值类型问题:System.String 与 System.Security.SecureString
将PowerShell Function部署到Azure Function App后,Get-AzAccessToken返回值类型在不同环境中有差异。正常为SecureString类型,但部分情况下为System.String类型,导致后续处理出错。解决方法是在profile.ps1中设置环境变量$env:AZUREPS_OUTPUT_PLAINTEXT_AZACCESSTOKEN=false,以禁用明文输出。
129 1
|
6月前
|
存储 JSON JavaScript
[go]byte类型, string 类型, json 类型
本文介绍了Go语言中byte类型的基本概念、特点及用法。byte是8位无符号整数,取值范围为0-255,常用于二进制数据操作,如网络通信和文件读写。文章还详细说明了byte与字符串的转换、遍历byte数据以及与其他类型间的转换。此外,探讨了Go中json.Marshal和json.Unmarshal函数实现[]byte与JSON间的转换,并对比了[]byte与JSON的区别,帮助开发者更好地理解其应用场景与差异。
257 2
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
数据可视化 Java
让星星月亮告诉你,通过反射创建类的实例对象,并通过Unsafe theUnsafe来修改实例对象的私有的String类型的成员属性的值
本文介绍了如何使用 Unsafe 类通过反射机制修改对象的私有属性值。主要包括: 1. 获取 Unsafe 的 theUnsafe 属性:通过反射获取 Unsafe类的私有静态属性theUnsafe,并放开其访问权限,以便后续操作 2. 利用反射创建 User 类的实例对象:通过反射创建User类的实例对象,并定义预期值 3. 利用反射获取实例对象的name属性并修改:通过反射获取 User类实例对象的私有属性name,使用 Unsafe`的compareAndSwapObject方法直接在内存地址上修改属性值 核心代码展示了详细的步骤和逻辑,确保了对私有属性的修改不受 JVM 访问权限的限制
203 4
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
156 3
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将STRING类型转换为DATETIME类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
270 1
|
存储 SQL 分布式计算
MaxCompute产品使用合集之表中的某个列设置为string类型,并且超过了8M,该如何处理
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
308 8
|
存储 NoSQL 索引
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
|
开发工具 数据安全/隐私保护
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
294 0
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
247 0