初识Redis系列之三:Redis支持的数据类型及使用
2024-09-13 09:27:44
支持的数据类型有五种:
string(字符串)、hash(哈希)、list(列表)、set(集合)及zset(sorted set:有序集合);
下面分别对这几种类型进行简单的Redis存取操作
1:string(字符串)
几种里面最常用,也是最简单的类型,使用方式如下:
redis 127.0.0.1:6379> SET name "runoob"
OK
redis 127.0.0.1:6379> GET name
"runoob" 注意:一个键最大能存储512MB。这个容量已经是相当大了,基本不可能超过,纯字符串哪里会超过512M的,所以放心使用即可!
2:hash(哈希)
哈希是一个键名对类型的,键和值都是string类型的,适合存储一个对象,例如我要存储一个叫zhangsan的人,年龄 26岁,身高180:
127.0.0.1:6379> HMSET zhangsan age 26 height 180
OK
127.0.0.1:6379> HGETALL zhangsan
1) "age"
2) "26"
3) "height"
4) "180"
每个 hash 可以存储 232 -1 键值对(40多亿),也完全够用了
3:list(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> lpush runoob redis(从最左边插入)
(integer) 1
redis 127.0.0.1:6379> rpush runoob mongodb(从最右边插入)
(integer) 2
redis 127.0.0.1:6379> lpush runoob rabitmq(从最左边插入)
(integer) 3
redis 127.0.0.1:6379> lrange runoob 0 10(返回第1个到第10个值,lrange runoob 0 -2->表示从左边第一个到右边倒数第二个)
1) "rabitmq"
2) "redis"
3) "mongodb"
4:set(集合)
Redis的Set是string类型的无序集合。无序但唯一,不重复
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。
redis 127.0.0.1:6379> sadd runoob redis mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd runoob rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers runoob
1) "rabitmq"
2) "mongodb"
3) "redis"
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员),完全够用
5:zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd key score member (语法)
redis 127.0.0.1:6379> zadd runoob 0 redis 1 mongodb
(integer) 2
redis 127.0.0.1:6379> zadd runoob 2 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 2 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000 (从0到1000分按分数排序) 1) "redis"
2) "mongodb"
3) "rabitmq"
最新文章
- sublime text常用快捷键
- Hcm data loader for cancel work relationship
- 安安视频网anan.video为您提供免费高清视频
- Android判断屏幕开关状态
- 纯手工打造(不使用IDE)java web 项目
- JVM性能分析与优化
- Linux常用热键(持续更新)
- Mac 下 FlashBuilder的快捷键
- iOS - Swift Struct 结构体
- 使用tornado的gen.coroutine进行异步编程
- Zabbix Api的使用
- ASP.NET MVC3 使用kindeditor编辑器获取不到值
- 焦点轮播图——myfocus焦点图库
- windows编ffmpeg2.2.4和插件h265
- webservices(一)
- R学习笔记 第四篇:函数,分支和循环
- ansible基础-安装与配置
- wpf(dispather调度者)
- Map中根据条件删除元素
- CentOS7安装配置Bacular
热门文章
- maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法
- 使用 Angular CLI 和 Webpack 分析包尺寸
- 在Debian或Ubuntu中安装和使用'搜狗输入法for linux'
- python基础——继承与派生、组合
- 字段从varchar2修改为number,字段中的内容做修改,替换
- 基于angularJS搭建的管理系统
- 解决:HTTP 错误 404.0 - Not Found.您要找的资源已被删除、已更名或暂时不可用。(记录帖)
- [LeetCode] Find Largest Value in Each Tree Row 找树每行最大的结点值
- [NOI 2015]荷马史诗
- 【数据结构】【平衡树】无旋转treap