Redis学习笔记1-Redis数据类型
Redis数据类型
Redis支持5种数据类型,它们描述如下:
Strings - 字符串
字符串是 Redis 最基本的数据类型。Redis 字符串是二进制安全的,也就是说,一个 Redis 字符串可以包含任意类型的数据,一个字符串最大为 512M 字节。
1 redis 127.0.0.1:6379> SET name "hello" 2 OK 3 redis 127.0.0.1:6379> GET name 4 "hello"
列表 (Lists)
Redis 列表仅仅是按照插入顺序排序的字符串列表。可以添加一个元素到 Redis 列表的头部 (左边) 或者尾部 (右边)。
LPUSH 命令用于插入一个元素到列表的头部,RPUSH 命令用于插入一个元素到列表的尾部。当这两个命令操作在一个不存在的键时,将会创建一个新的列表。同样,如果一个操作会清空列表,那么该键将会从键空间 (key space) 移除。这些是非常方便的语义,因为列表命令如果使用不存在的键作为参数,就会表现得像命令运行在一个空列表上一样。
1 redis 127.0.0.1:6379> lpush listtest test1 2 (integer) 1 3 redis 127.0.0.1:6379> lpush listtest test2 4 (integer) 2 5 redis 127.0.0.1:6379> lpush listtest test3 6 (integer) 3 7 redis 127.0.0.1:6379> lrange listtest 0 -1 8 9 1 "test1" 10 2 "test2" 11 3 "test3"
集合 (Sets)
Redis 集合是没有顺序的字符串集合 (collection)。可以在 O(1) 的时间复杂度添加、删除和测试元素存在与否 (不管集合中有多少元素都是常量时间)。
Redis 集合具有你需要的不允许重复成员的性质。多次加入同一个元素到集合也只会有一个拷贝在其中。实际上,这意味着加入一个元素到集合中并不需要检查元素是否已存在。
Redis 集合非常有意思的是,支持很多服务器端的命令,可以在很短的时间内和已经存在的集合一起计算并集,交集和差集。
redis 127.0.0.1:6379> sadd setdemo set1 (integer) 1 redis 127.0.0.1:6379> sadd setdemo set2 (integer) 1 redis 127.0.0.1:6379> smembers setdemo1) "set1" 2) "set2"
Hashes - 哈希值
Redis的哈希键值对的集合。 Redis的哈希值是字符串字段和字符串值之间的映射,所以它们被用来表示对象。
redis 127.0.0.1:6379> HMSET user:1 username testname password 123456 OK redis 127.0.0.1:6379> HGETALL user:11) "testname" 2) "123456"
有序集合 (Sorted sets)
Redis 有序集合和 Redis 集合类似,是非重复字符串集合 (collection)。不同的是,每一个有序集合的成员都有一个关联的分数 (score),用于按照分数高低排序。尽管成员是唯一的,但是分数是可以重复的。
对有序集合我们可以通过很快速的方式添加,删除和更新元素 (在和元素数量的对数成正比的时间内)。由于元素是有序的而无需事后排序,你可以通过分数或者排名 (位置) 很快地来获取一个范围内的元素。访问有序集合的中间元素也是很快的,所以你可以使用有序集合作为一个无重复元素,快速访问你想要的一切的聪明列表:有序的元素,快速的存在性测试,快速的访问中间元素!
总之,有序集合可以在很好的性能下,做很多别的数据库无法模拟的事情。
redis 127.0.0.1:6379> zadd list 0 name1 (integer) 1 redis 127.0.0.1:6379> zadd list 0 name2 (integer) 1 redis 127.0.0.1:6379> ZRANGEBYSCORE list 0 10001) "name1" 2) "name2"
转载于:https://www.cnblogs.com/houziwty/p/5105955.html
Redis学习笔记1-Redis数据类型相关推荐
- StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用
StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 原文: StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 Connec ...
- zset获取指定score_redis zset更新score redis学习笔记5 - Redis - 服务器之家
redis zset更新score redis学习笔记5 发布时间:2017-04-03 来源:服务器之家 一:概述 zset全称为sorted-sets类型,和set数据类型有极为相似,都是字符串的 ...
- Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...
- redis学习笔记(三)--Redis的功能
慢查询 基本概念 慢查询日志记录命令执行前后的超时的执行时间.(只记录命令执行时间) 慢查询的两个配置 Redis提供了slowlog-log-slower-than和slowlog-max-len两 ...
- Redis学习笔记之Redis的对象
类型与编码: typedef struct redisObject { unsigned type:4://类型 unsigned encod ...
- Redis学习笔记 - 数据类型与API(1)Key
Redis学习笔记 - 数据类型与API(1)Key Key相关命令 1. 常用命令 命令 含义 时间复杂度 keys 查找所有符合给定模式 pattern 的 key O(N), N 为数据库中 k ...
- Redis学习笔记(一) 数据类型事务异常Jredis
Redis学习笔记(一) NoSql概述 Nosql四大分类 Redis入门 简介 Windows安装 基础使用 问题 Redis4.0之前为什么是单线程 单线程为什么这么快 Redis4.0后的多线 ...
- Redis学习笔记——SpringDataRedis的使用
与Spring集成 我需要哪些jar包? <dependency><groupId>org.springframework.data</groupId><ar ...
- Redis学习笔记1-理论篇
目录 1,Redis 数据类型的底层结构 1.1,Redis 中的数据类型 1.2,全局哈希表 1.3,数据类型的底层结构 1.4,哈希冲突 1.5,rehash 操作 2,Redis 的 IO 模型 ...
- Redis学习笔记(B站狂神说)(自己总结方便复习)
Redis学习笔记B站狂神说 redis: 非关系型数据库 一.NoSQL概述 1.为什么要用Nosql 1.单机Mysql的年代 思考一下,这种情况下:整个网站的瓶颈是什么? 1.数据量如果太大,一 ...
最新文章
- 用NVIDIA-NGC对BERT进行训练和微调
- RDKit | 删除方差低的描述符
- python编程题-100道Python编程题及答案(一)
- Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 一
- 图形驱动程序和显卡驱动什么区别_什么是核心显卡,核心显卡和集成显卡的区别...
- 如果我使用Docker,是否需要OpenStack?
- linux ip不设置网关,linux下ip与网关不在同一段配置
- linux启动redis指定端口,linux redis实现自定义运行多端口、多实例 | 极安全-JiSec
- WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
- cadence元件编号更新_OrCAD教程:如何对元件进行替换与更新
- python如何用xpath爬取指定内容_Python如何利用Xpath选择器爬取京东网商品信息
- PLSQL developer的使用
- Python地理数据处理 十三:栅格数据处理(一)
- 前端 debugger
- 5W2H分析法的学习笔记
- VOIP 语音视频通话 ---总述
- https://是什么?HTTPS和HTTP有什么不一样?如何申请SSL(HTTPS)证书?
- 网管软件 LANDesk的配置(视频配截图)
- mysql排序的四种方式
- Python第三方库安装——使用vscode、pycharm安装Python第三方库