Redis 数据类型

1.String(字符串)string是redis最基本的类型,一个key对应一个valuestring类型是二进制安全的,即它可以包含任何数据setkeyvalue创建一个键值对getkey得到key对应的值示例:redis127.0.0.1:6379>setnamezhangsanOKredis127….

大家好,又见面了,我是你们的朋友全栈君。


1. String(字符串)

string是redis最基本的类型,一个key对应一个value
string类型是二进制安全的,即它可以包含任何数据

set key value 创建一个键值对
get key 得到key对应的值

示例:

redis 127.0.0.1:6379> set name zhangsan  
OK  
redis 127.0.0.1:6379> get name  
"zhangsan"

一个键最大能存储512MB

2. Hash(哈希)

hash是一个键值对集合
即hash是一个string类型的field和value的映射表
hash特别适合用于存储对象

示例:

redis 127.0.0.1:6379> HMSET myhash field1 "Hello" field2 "World"  
OK  
redis 127.0.0.1:6379> HGET myhash field1  
"Hello"  
redis 127.0.0.1:6379> HGET myhash field2  
"World"

hash数据类型存储了包含脚本信息的用户对象。
每个hash可以存储 232-1个键值对(40多亿)

3. List(列表)

列表是简单的字符串列表,按照插入顺序排序。
可以添加一个元素到列表的头部(左边)或者尾部(右边)

示例:

redis 127.0.0.1:6379> lpush mylist redis
(integer) 1
redis 127.0.0.1:6379> lpush mylist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush mylist rabitm1
(integer) 3
redis 127.0.0.1:6379> lrange mylist 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"

列表最多存储232 -1 个元素(4294967295)

4. Set(集合)

set是string类型的无序集合
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)

sadd 命令
添加一个string元素到key对应的set集合中,成功返回1,
如果元素已经在集合中返回0,key对应的set不存在返回错误

sadd key member

示例:

redis 127.0.0.1:6379> sadd myset redis
(integer) 1
redis 127.0.0.1:6379> sadd myset mongodb
(integer) 1
redis 127.0.0.1:6379> sadd myset rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd myset rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers myset

1) "rabitmq"
2) "mongodb"
3) "redis"

当同一个元素被添加两次时,根据集合内元素的唯一性,第二次插入的操作将被忽略。
集合最大的成员数为232-1

5. zSet(有序集合)

zset 和 set 一样也是string类型元素的集合,且不允许重复的成员
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为zset集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复
zadd命令
添加元素到集合,元素在集合中存在则更新对应score

zadd key score member

示例:

redis 127.0.0.1:6379> zadd myzset 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd myzset 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd myzset 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd myzset 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE myzset 0 1000
1) "mongodb"
2) "rabitmq"
3) "redis"
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《JavaScript 模式》读书笔记(6)— 代码复用模式2「建议收藏」

    上一篇讲了最简单的代码复用模式,也是最基础的,我们普遍知道的继承模式,但是这种继承模式却有不少缺点,我们下面再看看其它可以实现继承的模式。四、类式继承模式#2——借用构造函数本模式解决了从子构造函

    2022年3月25日
    38
  • Linux通配符和正则表达式通配符 区别_linux正则表达式语法

    Linux通配符和正则表达式通配符 区别_linux正则表达式语法1、 通配符通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。 1、1Shell常见通配符:通配符含义实例*匹配0或多个字符a*ba与b之间可以有任意长度的任意字符,也可以一个也没有,如aabcb,axyzb,a012b,ab。?匹配任意一个字符a?ba与b之间必须也只能有一个…

    2022年9月18日
    0
  • Android项目中最火最常用的优秀开源项目

    Android项目中最火最常用的优秀开源项目

    2021年10月1日
    39
  • java jvm优化(一)

    java jvm优化(一)转自http://ifeve.com/jvm-optimize-1/java由堆来分配所需内存。java有3个代,年轻代、年老代、永久代垃圾回收:当堆的空间不足以存放新的对象时,这是需要分配内存,也就是垃圾回收启动。GC算法:引用计数器回收、跟踪回收下面转自http://www.importnew.com/13827.htmlGC种类:4种1.串行垃圾回收器2.并行…

    2022年5月28日
    28
  • 数独答案查询器_8阶数独

    数独答案查询器_8阶数独数独是一种传统益智游戏,你需要把一个 9×9 的数独补充完整,使得图中每行、每列、每个 3×3 的九宫格内数字 1∼9 均恰好出现一次。请编写一个程序填写数独。输入格式输入包含多组测试用例。每个测试用例占一行,包含 81 个字符,代表数独的 81 个格内数据(顺序总体由上到下,同行由左到右)。每个字符都是一个数字(1−9)或一个 .(表示尚未填充)。您可以假设输入中的每个谜题都只有一个解决方案。文件结尾处为包含单词 end 的单行,表示输入结束。输出格式每个测试用例,输出一行数据,代表填充

    2022年8月8日
    5
  • NL-Mean和BM3D去噪原理「建议收藏」

    NL-Mean和BM3D去噪原理「建议收藏」本文为转载,原博客地址:http://blog.csdn.net/jacke121/article/details/55215416图像去噪是非常基础也是非常必要的研究,去噪常常在更高级的图像处理之前进行,是图像处理的基础。可惜的是,目前去噪算法并没有很好的解决方案,实际应用中,更多的是在效果和运算复杂度之间求得一个平衡,再一次验证了我老师的一句话:所有的工程问题最后都是最优化问题

    2022年5月16日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号