`
zk_chs
  • 浏览: 214785 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Redis中各种类型及其命令

阅读更多

刚刚接触Redis,在这里把命令都列出来,防止自己忘记,也能多看看

 

http://zk-chs.iteye.com/blog/2253663

 

在目前的redis中支持类型如下:

    1. 字符串类型 string

    2. 散列类型 hash

    3. 列表类型 linkedlist

    4. 集合类型 set

    5. 有序集合类型 sorted set

 

 首先介绍一些基本的命令:

FLUSHDB:删除当前db下的数据

FLUSHALL:删除所有

KEYS pattern:获取符合规则的键名列表

EXISTS key:判断键是否存在  存在返回1,不存在返回0

DEL key [key...]:删除键   返回的是删除键的个数  key不存在返回0

TYPE key:返回key的类型   key不存在返回none

 

字符串类型:key value

SET key value:存储一个string对,如果key已经存在则覆盖原值,不管原key是什么类型(特例)

GET key:取得key的值,key不存在返回nil,表示无值

MSET key value [key value...]:同时设置多个键值

MGET key [key...]:同时获得多个键的值,不返回key

INCR key:递增数字  当字符串为整数形式时,递增1,key不存在默认为0,返回递增后的值,原子操作

INCRBY key increment:与上面一样,不过能增加指定大小的值,返回递增后的值

DECR key: ...

DECRBY key decrement:递减,用法同上

INCRBYFLOAT key increment:增加指定浮点数,差别在于可以递增一个双精度浮点数,例如:

        redis>INCRBYFLOAT num 9.9

APPEND key value:向键的末尾追加value,key不存在则将key设置为value,返回value长度

STRLEN key:返回指定键值的长度,键不存在返回0

GETBIT key index:获取指定索引的二进制值,超出范围返回0

SETBIT key index value:设置指定索引的二进制值,超出范围则将不存在的位置赋值为0

BITCOUNT key [start] [end]:获取指定字节范围内二进制为1的二进制位个数

BIPOP operation destkey key [key...]:进行位运算

BITPOS key 0/1:获取指定键的第一个二进制位值为0或1点位置

 

散列类型:key field value  [field value...] 键值对形式,适合存储对象

HSET key field value:不区分插入与更新,当为插入(field不存在)时返回1,更新(field存在)返回0

HGET key value:获取字段值,不包含key,key不存在返回nil

HMSET key field value [field value...]:参考HSET

HMGET key field [field...]:参考HGET

HGETALL key:返回所有fielld value,成对出现

HEXISTS key field:判断字段是否存在,存在返回1,否则返回0,key不存在也返回0

HSETNX key field value:当字段不存在时赋值,成功返回1,否则返回0

HINCRBY key field increment:增加数字,返回增加后的字段值

HDEL key field [field...]:删除字段,返回删除的字段个数

HKEYS key:只获取key的所有field

HVALS key:只获取key的所有value

HLEN key:获取字段数量

 

列表类型:key value [value...]  由双向链表实现,有序,不唯一

LPUSH key value [value...]:向列表左端增加元素,返回增加元素后的列表长度

RPUSH key value [value...]:同上

LPOP key:从列表左端弹出一个元素,返回并删除元素,不存在返回nil

RPOP key:同上

LLEN key:返回列表中元素的个数,key不存在返回0

LRANGE key start end:返回从索引start到end的所有元素(包括两端),支持负索引

LREM key count value:删除列表中前count个值为value的元素,返回删除的元素个数,count=0删除全部,为负则从右边开始删除

LINDEX key index:获得指定索引的元素值,不存在返回nil

LSET key index value:设置指定索引的元素值,index超出则返回越界(ERR index out of range)

LTRIM key start end:只保留列表指定片段,删除索引之外的所有元素,返回ok

LINSERT key before|after pivot value:首先在列表中从左至右查找值为pivot的元素,根据第三个参数决定插入位置,返回插入后的列表长度

RPOPLPUSH source destination:先执行RPOP再执行LPUSH,将元素从一个列表转入另一个列表,返回这个元素点值;如果是队列,当source与destination相同时,会不断将队尾的元素移到队首

 

集合类型:key member [member...]  使用值为空的散列表实现,无序,唯一

SADD key member [member...]:增加元素,返回成功加入的元素数量

SREM key member [member...]:删除元素,返回成功删除的元素数量

SMEMBERS key:获取集合中的所有元素

SISMEMBER key member:判断元素是否在集合中,存在返回1,值或键不存在返回0

SDIFF key [key...]:差集运算,SADD setA setB表示只存在于setA中的元素,即setA-setB

SINTER key [key...]:交集运算,属于A且属于B多元素

SUNION key [key...]:并集运算,属于所有集合的元素

SCARD key:获取集合中元素个数

SDIFFSTORE destination key [key...]:进行集合运算,并将结果存到destination键中

SINTERSTORE destination key [key...]:同上

SUNIONSTORE destination key [key...]:同上上

SRANDMEMBER key [count]:随机获取集合中的元素,count为个数;当count>0时,返回不重复的元素,最多返回集合中的个数个元素;当count<0时,随机从集合中返回| count |个元素,可以重复

SPOP key:从集合中随机弹出一个元素

 

有序集合类型:key score member [score member...]  使用散列表与跳跃表实现

ZADD key score member [score member...]:增加元素,如果已存在,则用新的score替代旧的,返回新加入到集合中的元素个数(不包含已存在到元素)

ZSCORE key member:获得元素的分数,不存在返回nil

ZRANGE key start end [WITHSCORES]:按照分数(score)从小到大的顺序返回索引从start到end之间的所有元素,包含两端

ZREVRANGE key start end [WITHSCORES]:同上,只是从大到小,WITHSCORES表示同时获得分数,排序方式(0<9<A<Z<a<z)

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:获得指定分数范围的元素,如果不想包含端点,可以在min或max前添加"(",

                      比如ZRANGEBYSCORE setA 0 (100,LIMIT搭配count限制数量,offset表示在获得的元素列表的基础上偏移offset个元素

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:用法同上

ZINCRBY key increment member:增加某个元素的分数,返回更改后的分数,如果不存在,则先默认赋值为0

ZCARD key:获取集合中元素的数量

ZCOUNT key min max:获取指定分数范围内的元素个数

ZREM key member [member...]:删除一个或多个元素,返回成功删除的元素数量

ZREMRANGEBYRANK key start end:按照排名范围删除元素(即索引0表示最小的值),返回删除的元素数量

ZREMRANGEBYSCORE key min max:按照分数范围删除元素,返回删除的元素数量

ZRANK key member:获得元素的排名,从0开始,即最小的元素排名为0

ZREVRANK key member:与上面相反,最大的元素排名为0

ZINTERSTORE destination numkeys key [key...] [WEIGHTS weight [weight...] ]  [AGGREGATE  SUM | MIN | MAX ]:

计算有序集合的交集,并将结果存在destination中,destination同样以有序集合方式存储,返回destination中元素个数;WEIGHT表示权重,每个集合参与计算时会先计算权重;AGGREGATE代表结果处理方式,SUM表示相同元素的分数相加,MIN取最小值,MAX取最大值

 

 

 

分享到:
评论

相关推荐

    redis命令大全

    ### Redis命令大全详解 #### 一、Keys命令 Redis提供了丰富的键管理命令,这些命令能够帮助用户有效地管理和操作键。 **1....- **功能**: 删除已存在的键。...后续章节将继续介绍Redis的其他数据类型及其相关的命令。

    Redis支持的数据类型、相关命令和功能

    #### 二、Redis支持的数据类型及其特点 1. **Keys**:Redis中的键(Key)用于标识不同的值(Value)。键本身是字符串类型,但不支持二进制安全的字符串,即包含特殊字符如空格或换行符的字符串。 2. **Strings**:最...

    Redis中stream数据类型的命令详解

    ### Redis中的Stream数据类型及其命令详解 #### 一、引言 Redis 是一款非常流行的开源内存数据结构存储系统,广泛应用于缓存、消息队列、实时数据分析等多种场景。随着 Redis 5.0 版本的发布,引入了一种新的数据...

    Redis命令参考手册

    Redis命令参考手册详细罗列了Redis能够执行的各种操作命令,根据数据类型的不同,这些命令可以被分为几大类。 对于键(Key)的操作,Redis提供了DEL、DUMP、EXISTS、EXPIRE、EXPIREAT、KEYS、MIGRATE、MOVE、OBJECT...

    redis 命令手册 命令实践

    此外,Redis命令手册还介绍了各种数据类型命令,用于处理不同类型的数据结构。例如,对于列表数据结构,手册提供了LPUSH、RPUSH、LPOP等命令用于操作列表;对于哈希表数据结构,手册提供了HSET、HGET、HMSET等命令...

    redis常用命令集合.pdf

    1. Redis数据类型及其使用场景 - String(字符串):以key=value的形式存储数据,适用于常规计数、持久化定时任务。例如,可以作为系统内的计数器或存储数字类型数据。 - Hash(哈希):存储对象的key=value映射表...

    Redis 中文文档

    Redis 可以用于缓存、消息队列等多种场景,因其高速读写性能和丰富的数据类型而在现代应用开发中非常流行。 #### 二、Redis文档概述 Redis 的官方文档非常详尽,包含了从基础概念到高级特性的详细介绍。下面将根据...

    redis命令实践redis命令实践redis命令实践.txt

    通过这些命令,我们可以高效地管理Redis中的数据。然而,Redis的功能远不止于此,还有许多高级特性等待我们去探索和学习,比如事务处理、Lua脚本、流(Streams)等。希望本文能为你在Redis的学习和使用过程中提供帮助...

    redis简介以及一些必要命令

    ### Redis简介及其必要命令 #### 一、NoSQL与Redis概览 ##### 1.1 NoSQL概述 **NoSQL**(Not Only SQL),是指非关系型数据库的总称,其设计初衷在于解决大规模数据存储问题,特别是对于那些无法通过传统关系型...

    Redis命令参考手册完整版.pdf

    ### Redis命令参考手册知识点解析 #### 一、DEL 命令 **命令格式**: ``` DEL key [key ...] ``` **功能说明**: 该命令用于删除一个或多个指定...通过这些命令,用户能够有效地管理Redis数据库中的键及其相关信息。

    redis中文使用手册

    1. API接口:Redis中文API为开发者提供了更友好的编程接口,如`set`、`get`等方法,方便在各种编程语言中调用。 2. 连接管理:创建连接池,管理和释放Redis连接,确保高效并发访问。 3. 事务支持:API提供事务处理...

    redis命令实践基础命令总结

    除了上述的基本命令外,还有一些常用的命令可以帮助我们更好地管理和查询Redis中的数据。 - **获取键的数据类型**:使用`TYPE`命令获取键的数据类型: ```redis TYPE key ``` - **检查键是否存在**:使用`EXISTS...

    redis基础及其相关命令

    Redis以其高速读写性能、丰富的数据结构以及持久化能力,在现代互联网开发中占据了重要地位。 **1. 数据结构** - **字符串(String)**: 最基本的数据类型,可以存储字符串、整数或浮点数。 - **哈希(Hash)**: ...

    Redis有序集合类型(SortedSet)常用命令演示和实践练习代码

    在这个实战项目中,我们将深入探讨Redis有序集合类型(SortedSet)的常用命令,并通过Java实现商品管理功能,包括增删改查和分类查找,以及根据浏览量进行排序。 首先,我们来了解下Redis有序集合的基础知识。有序...

    redis 常用命令

    本文将对Redis中的常用命令进行详细介绍,帮助读者更好地理解和掌握Redis的基本操作。 #### 连接与管理 - **QUIT**:退出当前连接。 - **AUTH password**:认证密码。 - **SELECT index**:选择指定的数据库,...

    c++ 操作redis数据库

    1. Redis的数据结构和命令:理解Redis提供的不同数据类型及其操作命令,如字符串、哈希表、列表、集合、有序集合等。 2. C++库选择:熟悉cpp-redis、hiredis等C++ Redis客户端库,了解其API用法。 3. 网络编程:理解...

    redis命令详解

    接下来将继续探讨 Redis 的其他数据类型及其相关命令。 #### 三、其他数据类型 ##### 3. 列表类型(List) **列表类型** 允许在键(key)下存储一个字符串值的有序集合。每个元素都是一个独立的字符串,可以使用`...

    通用redis命令【重点】

    ### 通用Redis命令详解 ...通过这些命令和数据结构,Redis提供了一套强大的工具集,可用于各种高性能的应用场景。无论是快速访问缓存数据、管理任务队列还是构建复杂的排行榜系统,Redis都能提供高效的解决方案。

Global site tag (gtag.js) - Google Analytics