Redis基本的数据类型和常用命令
2017-09-29 01:07
921 查看
Redis基本的数据类型和常用命令
关于redis的介绍和redis在windows下的安装问题,博主已经在另一篇博客windows下安装redis进行了介绍,在此就不过多的赘述。String(字符串类型)
string是redis最基本的类型,一个key对应一个value。一个键最大能存储512MB
相关命令主要用于管理redis字符串的值
常用命令示例:
set username Rock_R //设置一个key=username value=Rock_R的键值对 exists username //检查是否存在key= username的键值对 get username //获取key=username 的value dump username //序列化username ,并返回被序列化的value rename username myname //重新将key=username 的键值对命名为myname get myname //获取key=myname 的value del myname //删除key=myname的键值对
Hash(哈希)
Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis中每个hash可以储存(2^32)-1键值对(40多亿)
127.0.0.1:6379>hset user Rock_R 123 //在field=user 建立一个key=Rock_R value=123的射映 (integer) 1 127.0.0.1:6379>hget user Rock_R //获取field=user下key=Rock_R的value值 "123" 127.0.0.1:6379> hmset user Rock_A 123 Rock_B 456 //同时设置多个值 OK 127.0.0.1:6379> HGETALL user //得到user下所有的值 1) "Rock_R" 2) "123" 3) "Rock_A" 4) "123" 5) "Rock_B" 6) "456" 127.0.0.1:6379> hexists user Rock_R //判断user下是否存在key=Rock_R (integer) 1 127.0.0.1:6379> HKEYS user //获取user下的所有key值 1) "Rock_R" 2) "Rock_A" 3) "Rock_B" 127.0.0.1:6379> hvals user //获取user下所有的value值 1) "123" 2) "123" 3) "456" 127.0.0.1:6379> hdel user Rock_R //删除user下的Rock_R (integer) 1 127.0.0.1:6379> HGET user Rock_R //判断是否删除成功 (nil) 127.0.0.1:6379> HDEL user Rock_A Rock_B //同时删除user下的Rock_A Rock_B (integer) 2 127.0.0.1:6379> HGETALL user //判断是否删除成功 (empty list or set)
列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)Redis当向列表添加值时,最后添加的总是第一个取出。同理,最先添加的,最后取出。
127.0.0.1:6379> lpush user Rock_A //向列表user里面添加value=Rock_A (integer) 1 127.0.0.1:6379> lpush user Rock_B //同上 (integer) 2 127.0.0.1:6379> lpush user Rock_C //同上 (integer) 3 127.0.0.1:6379> lpush user Rock_D //同上 (integer) 4 127.0.0.1:6379> lrange user 0 4 //取出列表user下角标由0-4的值 1) "Rock_D" 2) "Rock_C" 3) "Rock_B" 4) "Rock_A" 127.0.0.1:6379> lindex user 2 //取出列表user下索引为2的值 "Rock_B" 127.0.0.1:6379> blpop user 60 //获取并移除列表user的第一个值,如果列表没有元素会阻塞列表直到等待超过60或发现可弹出元素为止。 1) "user" 2) "Rock_D" 127.0.0.1:6379> brpop user 60 //获取并移除列表user的最后一个值。 1) "user" 2) "Rock_A" 127.0.0.1:6379> brpop user name //获取user最后一个值并将其移动到列表名为name之中(将从user中移除) 1) "user" 2) "Rock_B" 127.0.0.1:6379> llen user //获取user的长度 (integer) 1 127.0.0.1:6379> lrange user 0 2 //取出列表user下角标由0-2的值 1) "Rock_C" 127.0.0.1:6379> linsert user after Rock_C Rock_E //向user中同时插入多个值 (integer) 2 127.0.0.1:6379> lrange user 0 2 1) "Rock_C" 2) "Rock_E"
Set(集合)
Redis的Set类型是string类型的无序集合,集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
127.0.0.1:6379> sadd demo Rock_A //向demo集合中加入元素Rock_A (integer) 1 127.0.0.1:6379> sadd demo Rock_B Rock_C //同时向demo集合中加入Rock_B和Rock_C (integer) 2 127.0.0.1:6379> scard demo //得到集合元素的个数 (integer) 3 127.0.0.1:6379> sdiff demo //得到该集合和空集的差集,即集合本身 1) "Rock_A" 2) "Rock_B" 3) "Rock_C" 127.0.0.1:6379> sadd demo2 Rock_A //向demo2中添加元素Rock_A(这里是向不同的集合添加同一元素是可以的,但不可以像同一个集合添加相同的元素) (integer) 1 127.0.0.1:6379> sinter demo demo2 //找出集合demo和demo2的交集 1) "Rock_A" 127.0.0.1:6379> SISMEMBER demo Rock_A //判断在demo中是否存在元素Rock_A (integer) 1 127.0.0.1:6379> SMEMBERS demo //列出集合demo的所有元素 1) "Rock_B" 2) "Rock_A" 3) "Rock_C" 127.0.0.1:6379> sdiff demo demo2 //列出demo和demo2的差集 1) "Rock_B" 2) "Rock_C" 127.0.0.1:6379> sadd demo Rock_D //向集合demo2添加元素Rock_D (integer) 1 127.0.0.1:6379> sunion demo demo2 //求出demo和demo2的并集 1) "Rock_A" 2) "Rock_B" 3) "Rock_D" 4) "Rock_C"
zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
127.0.0.1:6379> zadd room 0 Rock_S //向room集合中添加分数为0,value=Rock_S的元素 (integer) 1 127.0.0.1:6379> ZADD room 2 Rock_A 3 Rock_B 1 Rock_C //向集合room中同时插入多个元素 (integer) 3 127.0.0.1:6379> zcard room //得到集合元素个数 (integer) 4 127.0.0.1:6379> zcount room 0 4 //得到集合指定区间集合个数 (integer) 4 127.0.0.1:6379> ZRANGE room 0 4 WITHSCORES //按照分数从小到大进行排列 1) "Rock_S" 2) "0" 3) "Rock_C" 4) "1" 5) "Rock_A" 6) "2" 7) "Rock_B" 8) "3" 127.0.0.1:6379> zrank room Rock_R (nil) 127.0.0.1:6379> zrank room Rock_A //查询Rock_A的分数 (integer) 2 127.0.0.1:6379> ZREMRANGEBYSCORE room 0 2 //删除0-2分数区间的元素 (integer) 3 127.0.0.1:6379> zrange room 0 4 WITHSCORES //检查是否删除成功 1) "Rock_B" 2) "3"
以上就是redis的基本类型,以及其对应的一些命令操作。如果还想了解其他更多关于redis的内容,欢迎查看博主的其他博客内容
相关文章推荐
- redis基本数据类型和常用命令操作
- 4、Redis从入门到放弃 之 常用命令和基本数据类型操作
- Redis基本的数据类型和常用命令
- Redis从入门到放弃 之 常用命令和基本数据类型操作
- Redis常用数据类型介绍、使用场景及其操作命令
- redis的常用命令及数据类型
- Redis Hash类型数据常用命令总结
- Redis常用数据类型介绍、使用场景及其操作命令
- redis五种数据类型和常用命令及适用场景
- redis_2_key_五大数据类型常用命令
- Redis (二 各种数据类型下支持的基本命令)
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis学习笔记(四)—— redis的常用命令和五大数据类型的简单使用
- 缓存系列之三:redis安装及基本数据类型命令使用
- redis数据类型以及常用的命令
- Redis String类型数据常用的16条命令总结
- redis数据类型SortedSet的常用命令
- Redis Hash类型数据常用命令总结
- Redis Hash类型数据常用命令总结