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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 快速学习 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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
数据可视化 Java
让星星月亮告诉你,通过反射创建类的实例对象,并通过Unsafe theUnsafe来修改实例对象的私有的String类型的成员属性的值
本文介绍了如何使用 Unsafe 类通过反射机制修改对象的私有属性值。主要包括: 1. 获取 Unsafe 的 theUnsafe 属性:通过反射获取 Unsafe类的私有静态属性theUnsafe,并放开其访问权限,以便后续操作 2. 利用反射创建 User 类的实例对象:通过反射创建User类的实例对象,并定义预期值 3. 利用反射获取实例对象的name属性并修改:通过反射获取 User类实例对象的私有属性name,使用 Unsafe`的compareAndSwapObject方法直接在内存地址上修改属性值 核心代码展示了详细的步骤和逻辑,确保了对私有属性的修改不受 JVM 访问权限的限制
68 4
|
3月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
4月前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将STRING类型转换为DATETIME类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
存储 NoSQL 索引
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
|
5月前
|
开发工具 数据安全/隐私保护
【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"
113 0
|
6月前
|
存储 SQL 分布式计算
MaxCompute产品使用合集之表中的某个列设置为string类型,并且超过了8M,该如何处理
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
121 8
|
5月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
56 0
|
7月前
|
Java 数据处理 Apache
探讨Java中判断String类型为空和null的方法
探讨Java中判断String类型为空和null的方法
81 1
|
6月前
|
存储 NoSQL Redis
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX