redis数据类型常用方法
一、String
set:添加String类型数据
get:获取String类型数据
del:删除数据
append:在原基础上追加数据,假如原来k1值是v1,执行append k1 ddd,那么值就变为v1ddd
strlen:获取数据的长度,例如strlen k1,将获取k1的数据长度
incr:值只能为数字,执行时会在原值上加1,例如set k1 10,执行Incr k1后值变为11
decr:值只能为数字,执行时会在原值上减1,例如set k1 10,执行decr k1后值变为9
incrby:值只能为数字,加固定的值,例如incrby k1 2,在原值的基础上加2
decrby:值只能为数字,减固定的值,例如incrby k1 2,在原值的基础上减2
getrange:获取从起始位置到结束位置的值,例如set k1 abcdefg,getrange k1 2 5,将获取cdef
setrange:Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始,例如SET key1 "Hello World",SETRANGE key1 6 "Redis",GET key1将得到"Hello Redis"
setex:Setex 命令为指定的 key 设置值及其过期时间(时间单位秒)。如果 key 已经存在, SETEX 命令将会替换旧的值。例如setex k1 10 val1。
setnx:只有在键不存在的情况将值设定,若存在则不做操作。
mset:Mset 命令用于同时设置一个或多个 key-value 对。例如mset k1 v1 k2 v2
mget:Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
msetnx:Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。
getset:Getset 命令用于设置指定 key 的值,并返回 key 的旧值。
二、List
列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
lpush:Lpush 命令将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。
rpush:Rpush 命令用于将一个或多个值插入到列表的尾部(最右边)。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。
lrange:Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
lpop:Lpop 命令用于移除并返回列表的第一个元素
rpop:Rpop 命令用于移除列表的最后一个元素,返回值为移除的元素。
lindex:Lindex 命令用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。例如:lindex list1 0
llen:Llen 命令用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。
lrem:Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
COUNT 的值可以是以下几种:
- count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
- count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
- count = 0 : 移除表中所有与 VALUE 相等的值。
ltrim:Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
rpoplpush:Rpoplpush 命令用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
lset:Lset 通过索引来设置元素的值。当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误。相当于修改值。
linsert:Linsert 命令用于在列表的元素前或者后插入元素。当指定元素不存在于列表中时,不执行任何操作。例如:rpush list1 hello world,linsert list1 before world there将得到 hello there world
三、Set
sadd:Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。命令基本语法如下:SADD KEY_NAME VALUE1..VALUEN
scard:Scard 命令返回集合中元素的数量。Scard 命令基本语法如下:SCARD KEY_NAME
smembers :Smembers 命令返回集合中的所有的成员。 不存在的集合 key 被视为空集合。Smembers 命令基本语法如下:SMEMBERS key
sismember:Sismember 命令判断成员元素是否是集合的成员。Sismember 命令基本语法如下:SISMEMBER KEY VALUE
srem:Srem 命令用于移除集合中的一个或多个成员元素,不存在的成员元素会被忽略。当 key 不是集合类型,返回一个错误。Srem 命令基本语法如下:SREM KEY MEMBER1..MEMBERN
srandmember:Srandmember 命令用于返回集合中的一个随机元素。命令基本语法如下:SRANDMEMBER KEY [count]
Srandmember 命令接受可选的 count 参数:
- 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
- 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
spop:Spop 命令用于移除集合中的指定 key 的一个或多个随机元素,移除后会返回移除的元素。Spop 命令基本语法如下:SPOP key [count],count移除集合的个数,默念为1
smove:Smove 命令将指定成员 member 元素从 source 集合移动到 destination 集合。如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。
当 source 或 destination 不是集合类型时,返回一个错误。
sdiff:Sdiff 命令返回第一个集合与其他集合之间的差异,也可以认为说第一个集合中独有的元素。不存在的集合 key 将视为空集。差集的结果来自前面的 FIRST_KEY ,而不是后面的 OTHER_KEY1,也不是整个 FIRST_KEY OTHER_KEY1..OTHER_KEYN 的差集。
sinter:Sinter 命令返回给定所有给定集合的交集。 不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
sunion:Sunion 命令返回给定集合的并集。不存在的集合 key 被视为空集。
四、Hash
KV模式不变,但V是一个键值对
hset:Hset 命令用于为哈希表中的字段赋值 。Hset 命令基本语法如下:HSET KEY_NAME FIELD VALUE
hget:Hget 命令用于返回哈希表中指定字段的值。Hget 命令基本语法如下:HGET KEY_NAME FIELD_NAME
hmset:Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。Hmset 命令基本语法如下:HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
hmget:Hmget 命令用于返回哈希表中,一个或多个给定字段的值。Hmget 命令基本语法如下:HMGET KEY_NAME FIELD1...FIELDN
hgetall:命令用于返回哈希表中,所有的字段和值。Hgetall 命令基本语法如下:HGETALL KEY_NAME ,获取到的数据奇数为键,偶数为值
hdel:Hdel 命令用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。Hdel 命令基本语法如下:HDEL KEY_NAME FIELD1.. FIELDN
hlen:Hlen 命令用于获取哈希表中字段的数量。Hlen 命令基本语法如下:HLEN KEY_NAME
Hexists 命令用于查看哈希表的指定字段是否存在。Hexists 命令基本语法如下:HEXISTS KEY_NAME FIELD_NAME
hkeys:Hkeys 命令用于获取哈希表中的所有域(field)。Hkeys 命令基本语法如下:HKEYS key
hincrby:Hincrby 命令用于为哈希表中的字段值加上指定增量值。Hincrby 命令基本语法如下:HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER
hincrbyfloat:Hincrbyfloat 命令用于为哈希表中的字段值加上指定浮点数增量值。Hincrbyfloat 命令基本语法如下:HINCRBYFLOAT key field increment
hsetnx:Hsetnx 命令用于为哈希表中不存在的的字段赋值 。Hsetnx 命令基本语法如下:HSETNX KEY_NAME FIELD VALUE
五、ZSet
Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。
在set基础上,加一个score值。
之前set是k1 v1 v2 v3,
现在zset是k1 score1 v1 score2 v2
zadd:Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。Zadd 命令基本语法如下:ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN
zrange:Zrange 返回有序集中,指定区间内的成员。Zrange 命令基本语法如下:ZRANGE key start stop [WITHSCORES],按下标取数据
zrangebyscore:Zrangebyscore 返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列。Zrangebyscore 命令基本语法如下:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
zrem:Zrem 命令用于移除有序集中的一个或多个成员,不存在的成员将被忽略。Zrem 命令基本语法如下:ZREM key member [member ...],member是保存的值,不是分值
zcard:Zcard 命令用于计算集合中元素的数量。Zcard 命令基本语法如下:ZCARD KEY_NAME
zcount:Zcount 命令用于计算有序集合中指定分数区间的成员数量。Zcount 命令基本语法如下:ZCOUNT key min max,是计算数量不是获取值
zrank:Zrank 返回有序集中指定成员的排名。其中有序集成员按分数值递增(从小到大)顺序排列。Zrank 命令基本语法如下:ZRANK key member,将排名结果返回例如该成员在所有排序中第2会返回2
zscore:Zscore 命令返回有序集中,成员的分数值。 如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil 。Zscore 命令基本语法如下:ZSCORE key member
zrevrank:Zrevrank 命令返回有序集中成员的排名。其中有序集成员按分数值递减(从大到小)排序。
排名以 0 为底,也就是说, 分数值最大的成员排名为 0 。
zrevrange:Zrevrange 命令返回有序集中,指定区间内的成员。
其中成员的位置按分数值递减(从大到小)来排列。
具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列。
Zrevrange 命令基本语法如下:ZREVRANGE key start stop [WITHSCORES]
zrevrangebyscore:Zrevrange 命令返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列。具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列。Zrevrange 命令基本语法如下:ZREVRANGE key start stop [WITHSCORES]
redis数据类型常用方法的更多相关文章
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- redis数据类型及使用场景
Redis数据类型 String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令: set,get,decr,incr,mge ...
- Redis数据类型介绍
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- redis数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- Redis-cluster集群【第一篇】:redis安装及redis数据类型
Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...
- Lua 数据类型和 Redis 数据类型之间转换
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...
- redis数据类型-散列类型
Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...
- redis介绍、安装、redis持久化、redis数据类型
1.redis介绍 2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...
随机推荐
- vs MFC c++ rc文件的dilog打不开,显示加载失败
最近在做一个项目,在vs2012上面用mfc画界面,由于没有确定好且不熟悉这个架构,控件类型变了又变,本人又是个有点强迫症的性格所以删掉了一些不用的控件,导致的结果就是上面说的,dialog打不开报加 ...
- SAP SD VA01 销售订单中的自动价格更新
场景 :当用户使用假定物料" A"创建销售订单时,确定了价格,但随后用户意识到需要更改物料,因此他们更改了订单中的物料. 现在,它显示价格已经重新确定,但是在项目条件页面中时,他们 ...
- Scala集合总结
Scala同时支持可变集合和不可变集合,包含两个包: 可变集合:scala.collection.mutable 不可变集合:scala.collection.immutable Scala默认采用不 ...
- NSQ(8)-有赞相关改进
如何保证消息队列的高可用(HA) NSQ 本身就是一个分布式消息队列,且支持水平扩展,无单点故障,能在无中断的情况下无缝添加集群结点. nsq用到了集群去保证整个服务的高可用,但并不能保证单个topi ...
- atx
https://github.com/openatx/atx-agent/releases/download/0.9.4/atx-agent_0.9.4_linux_386.tar.gz
- 城市间最短路径问题——R和Rcpp实现
这里的最短路径问题也叫做相识问题,具体问题来自 https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/examples.ht ...
- HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP 和 ASP.NET
https://www.runoob.com/tags/html-reference.html 在线版,从基础的 HTML 到 CSS,乃至进阶的 XML.SQL.JS.PHP 和 ASP.NET. ...
- go-浅学设计模式随记
责任链模式 组成:由多个处理器及处理器处理标志串联组成 作用:常用于处理流水线事务,利用多个处理器对同一个对象进行处理,可以利用各处理器开关 场景:常见逻辑层处理逻辑:获取参数.fetch数据.逻辑处 ...
- centos7.9重启后,主机名会变为IP地址
现象: centos7.9重启后,主机名会变为IP地址 当关闭DHCP功能,则主机名修改生效,否则重启后,主机名依旧变为图示的IP地址 解决方法:经过排查,由 /etc/sysconfig/netwo ...
- Flink Application Development DataStream API Operators Overview-- Flink应用程序开发DataStream API操作符概览
目录 概览 DataStream转换 物理分区 任务链和资源组 翻译原文- Application Development DataStream API Operators 概览 操作符将一个或多个D ...