Redisbook学习笔记(3)数据类型之字符串

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

REDIS_STRING (字符串)是Redis 使用得最为广泛的数据类型,它除了是SET 、GET 等命令

的操作对象之外,数据库中的所有键,以及执行命令时提供给Redis 的参数,都是用这种类型

保存的。

字符串编码

字符串类型分别使用REDIS_ENCODING_INT 和REDIS_ENCODING_RAW 两种编码:

REDIS_ENCODING_INT 使用long 类型来保存long 类型值。

REDIS_ENCODING_RAW 则使用sdshdr 结构来保存sds (也即是char* )、long long 、

double 和long double 类型值。

换句话来说,在Redis 中,只有能表示为long 类型的值,才会以整数的形式保存,其他类型

的整数、小数和字符串,都是用sdshdr 结构来保存。

wKioL1L8yHniHrM1AACmeenaYF8525.jpg

编码的选择

新创建的字符串默认使用REDIS_ENCODING_RAW 编码,在将字符串作为键或者值保存进数据库

时,程序会尝试将字符串转为REDIS_ENCODING_INT 编码。

字符串命令的实现

Redis 的字符串类型命令,基本上是通过包装sds 数据结构的操作函数来实现的。



























本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1358987,如需转载请自行联系原作者

相关实践学习
基于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
相关文章
|
4天前
复杂的数据类型如何转成字符串!
复杂的数据类型如何转成字符串!
|
4天前
|
存储 算法 Java
【数据结构-字符串 四】【字符串识别】字符串转为整数、比较版本号
【数据结构-字符串 四】【字符串识别】字符串转为整数、比较版本号
34 0
|
6月前
|
存储 Java 容器
[正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。
[正式学习java③]——字符串在内存中的存储方式、为什么字符串不可变、字符串的拼接原理,键盘录入的小细节。
|
存储 缓存 监控
数据类型-数据类型简介| 学习笔记
快速学习数据类型-数据类型简介
76 0
|
缓存 NoSQL 前端开发
Redis 数据类型之字符串和列表(三)|学习笔记
快速学习 Redis 数据类型之字符串和列表(二)
85 0
|
缓存 NoSQL Java
Redis 数据类型之字符串和列表(二)|学习笔记
快速学习 Redis 数据类型之字符串和列表(二)
80 0
|
监控 NoSQL Java
Redis 数据类型之字符串和列表(一)|学习笔记
快速学习 Redis 数据类型之字符串和列表(一)
119 0
|
开发者 Python
字符串的表示方式|学习笔记
快速学习字符串的表示方式
101 0
|
Java Go 开发者
基本数据相互转换 | 学习笔记
简介:快速学习基本数据相互转换
45 0
|
存储 SQL 关系型数据库
MySQL数据库基础:数据类型详解-二进制字符串类型
MySQL数据库基础:数据类型详解-二进制字符串类型
180 0
MySQL数据库基础:数据类型详解-二进制字符串类型