Redis常用数据类型及命令
Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
注意:
命令的关键词,如set,get,lpush,zadd等不区分大小写。。
但是key一定要注意区分大小写。
String(字符串)
通过 set 设置 key对应的value,再通过get获取key对应的value。
test:0>set name "lin"
OK test:0>get name
"lin"
Hash(哈希)
Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。
此命令会覆盖哈希表中已存在的字段。
如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。
hmset的基本语法如下:
HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
如果只设置一个field,则使用hset,如下:
HSET KEY_NAME FIELD VALUE
获取存储在哈希表中指定字段的值,如下:
HGET key field
示例如下:
test:0>hmset myhashkey field1 "hello" field2 "world"
OK test:0>hget myhashkey field1
"hello" test:0>hget myhashkey field2
"world" test:0>hgetall myhashkey
field1
"hello"
field2
"world"
List(列表)
list添加数据如下:
LPUSH key value1 [value2] 将一个或多个值插入到列表头部
list遍历数据如下:
Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
LRANGE KEY_NAME START END
lpush l是left,也就是从左边开始添加。需要注意的是,继续从左边添加数据,已添加的数据会向右移。
因此,遍历时的顺序与插入时的顺序相反。
(rpush r是right,也就是从右边开始添加。)
list移除数据如下:
Lpop 命令用于移除并返回列表的第一个元素。
Lpop KEY_NAME
示例如下:
test:0>lpush order order1
1 test:0>lpush order order2
2 test:0>lpush order order3
3 test:0>lrange order 0 2
order3
order2
order1 test:0>lpop order
order3 test:0>lrange order 0 2
order2
order1
Set(集合)
Redis的Set是string类型的无序不重复的集合。
sadd 命令:添加一个 string 元素到 key 对应的 set 集合中,成功返回1,如果元素已经在集合中返回 0,如果 key 对应的 set 不存在则返回错误。
如果添加多个元素,那么就会返回元素的个数。
sadd key 元素1 元素2 元素3 ...
smembers命令:遍历set集合
smembers key
示例如下:
test:0>sadd mySet "redis"
1 test:0>sadd mySet "mongodb"
1 test:0>sadd mySet "couchdb"
1
//因为元素"couchdb"已经存在,所以无法再次添加,返回结果0.
test:0>sadd mySet "couchdb"
0
//遍历集合
test:0>smembers mySet
"couchdb"
"mongodb"
"redis"
//添加多个元素的示例如下:
test:0> sadd set-test c java c++
(integer) 3
zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令:添加元素到集合,元素在集合中存在则更新对应score
zadd key score 元素内容
注意:命令的关键词,如zadd等不区分大小写。。但是key一定要注意区分大小写。
示例如下:
test:0>zadd myZSet 0 "spring"
1 test:0>zadd myZSet 0 "springboot"
1 test:0>zadd myZSet 1 "mybatis"
1
--注意:key要区分大小写。以下的myzset写错了,所以查不出结果
test:0>zrangebyscore myzset 0 1 test:0>zrangebyscore myZSet 0 1
"spring"
"springboot"
"mybatis" test:0>
Redis常用数据类型及命令的更多相关文章
- redis常用数据类型与命令
注意:LPUSH 和LPOP按照栈进行操作,RPUSH和RPOP按照队列进行操作 zremrangebyscore key score开始 score结束//根据score删除 zremrangeb ...
- Redis常用数据类型介绍、使用场景及其操作命令
Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...
- Redis常用数据类型
Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html Redis最为常用的数据类型主要有以下五种: ●Str ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- Redis常用数据类型及各种数据类型应用和实现方式
Redis常用数据类型: StringHashListSetSorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Red ...
- Redis常用数据类型以及操作
Redis常用数据类型以及操作 目录 Redis常用数据类型以及操作 一.String数据类型 1. SET/GET/APPEND/STRLEN 2. INCR/DECR/INCRBY/DECRBY ...
- 【数据库】Redis(2)--Redis的常用数据类型及命令
1.Redis主要数据类型分类 Redis中存储数据常用的数据类型主要有五种:String.List.Set.Sorted Set.Hash,这五种数据结构在Redis中存储数据的命令掌握对于我们后期 ...
- Redis的介绍和常用数据类型结构命令的总结
我们先来看一下redis的一个定义,来自官方的: Redis is an open source, BSD licensed, advanced key-value store. It is ofte ...
- Redis常用数据类型和事物以及并发
Redis数据类型 基本类型(String int): 如 set key value .get key 等 所有命令都是按照 key value keys * 可以将全部数据列出,其中后面的 &qu ...
随机推荐
- 【Spring学习笔记-MVC-8.1】SpringMVC之类型转换@initBinder
作者:ssslinppp 1. 摘要 类型转换器常用于转换double.float.date等类型. 上文讲解了Converter类型转换器,这属于Spring 3新支持的类型转换器: 本 ...
- JavaScript之图片操作3
在页面布局中,常常会用到九宫格布局,如下图所示: 本次我们就以九宫格为基础进行图片的布局操作,首先我们以上面的图片的为例,假设每个格子的大小都相同,将每一个格子相对其父元素进行定位,这样,我们只需要控 ...
- aapium 设置安卓机参数
例子: class iBer(Unittest.TestCase): @classmethod def setUpClass(cls): logger=public.log() desired_cap ...
- MongoDB对Javascript的支持
在项目中MongoDB的Map-Reduce功能做了许多统计任务,在重构代码的时候修改了_id对象里面的属性字段名称,当用db.collection.update({$rename:{"_i ...
- dbms_xplan之display_cursor函数的使用
DBMS_XPLAN包中display_cursor函数不同于display函数,display_cursor用于显示SQL语句的真实的执行计划,在大多数情况下,显示真实的执行计划有助于更好的分析SQ ...
- Python模块之shelve
shelve是python的自带model. 可以直接通过import shelve来引用. shelve类似于一个存储持久化对象的持久化字典,即字典文件. 使用方法也类似于字典. 保存对象至shel ...
- 基于Linux的Samba开源共享解决方案测试(二)
单NAS网关50Mb码率视音频文件的稳定读测试结果如下: 50Mb/s负载性能记录 NAS网关资源占用 稳定读 稳定读 CPU空闲 内存空闲 网卡占用 13个稳定流 96.70% 10G 104MB/ ...
- Hash的一点测试
哈希表的学习与测试 以前写的hash都是碰运气的hash,就是乘上质数取模的那种,这样不能保证不碰撞,所以今天先写上几个双hush和链表的hash,并比较一下他们的速度,测试的话用洛谷上的“字符串哈希 ...
- xrange
range返回一个列表 xrange反会xrange这个类的实例,每次遍历返回一个值.比range的执行效率要高 在python3中range = xrange range(1,10,2) - ...
- msq_table's methods2
-- 删除数据 自增长id被占用 -- 清楚所有数据并重置id 1 truncate table name; -- 主键(唯一) id int primary key; -- 主键内容不能重复,不能为 ...