支持的数据类型有种:

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"

最新文章

  1. sublime text常用快捷键
  2. Hcm data loader for cancel work relationship
  3. 安安视频网anan.video为您提供免费高清视频
  4. Android判断屏幕开关状态
  5. 纯手工打造(不使用IDE)java web 项目
  6. JVM性能分析与优化
  7. Linux常用热键(持续更新)
  8. Mac 下 FlashBuilder的快捷键
  9. iOS - Swift Struct 结构体
  10. 使用tornado的gen.coroutine进行异步编程
  11. Zabbix Api的使用
  12. ASP.NET MVC3 使用kindeditor编辑器获取不到值
  13. 焦点轮播图——myfocus焦点图库
  14. windows编ffmpeg2.2.4和插件h265
  15. webservices(一)
  16. R学习笔记 第四篇:函数,分支和循环
  17. ansible基础-安装与配置
  18. wpf(dispather调度者)
  19. Map中根据条件删除元素
  20. CentOS7安装配置Bacular

热门文章

  1. maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法
  2. 使用 Angular CLI 和 Webpack 分析包尺寸
  3. 在Debian或Ubuntu中安装和使用'搜狗输入法for linux'
  4. python基础——继承与派生、组合
  5. 字段从varchar2修改为number,字段中的内容做修改,替换
  6. 基于angularJS搭建的管理系统
  7. 解决:HTTP 错误 404.0 - Not Found.您要找的资源已被删除、已更名或暂时不可用。(记录帖)
  8. [LeetCode] Find Largest Value in Each Tree Row 找树每行最大的结点值
  9. [NOI 2015]荷马史诗
  10. 【数据结构】【平衡树】无旋转treap