Redis基本常用操作命令

Redis基本操作

1. 数据库连接操作

在这里插入图片描述

2. key的操作

Redis中的数据以键值对(key-value)为基本存储方式,其中key都是字符串。

在这里插入图片描述

3. String操作

String类型是Redis中最基本的类型,它是key对应的一个单一值。
二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Redis中一个字符串值的最大容量是512M。

SET key value添加键值对
GET key查询指定key的值
APPEND key value将给定的value追加到原值的末尾
STRLEN key获取值的长度
SETNX key value只有在 key 不存在时设置 key 的值
INCR key指定key的值自增1,只对数字有效
DECR key指定key的值自减1,只对数字有效
INCRBY key num自增num
DECRBY key num自减num
MSET key1 value1 key2 value2…同时设置多个key-value对
MGET key1 key2同时获取一个或多个value
MSETNX key1 value1 key2 value2当key不存在时,设置多个key-value对
GETRANGE key起始索引 结束索引获取指定范围的值,都是闭区间
SETRANGE key起始索引 value从起始位置开始覆写指定的值
GETSET key value以新换旧,同时获取旧值
SETEX key 过期时间 value设置键值的同时,设置过期时间,单位秒

4. list操作

在Java中list 一般是单向链表,如常见的Arraylist,只能从一侧插入。
在Redis中,list是双向链表。可以从两侧插入。
可以简单理解为两端开口的,两端都可以进出。常见操作:

  • 遍历:遍历的时候,是从左往右取值;
  • 删除:弹栈,POP;
  • 添加:压栈,PUSH ;

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。

LPUSH/RPUSH key value1 value2…从左边/右边压入一个或多个值,头尾效率高,中间效率低
LPOP/RPOP key从左边/右边弹出一个值,值在键在,值光键亡,弹出=返回+删除
LRANGE key start stop查看指定区间的元素 ,正着数:0,1,2,3,…,倒着数:-1,-2,-3,…, [0,-1]表示全部元素
LINDEX key index按照索引下标获取元素(从左到右)
LLEN key获取列表长度
LINSERT key BEFORE/AFTER value newvalue在指定value的前后插入newvalue
LREM key n value从左边删除n个value
LSET key index value把指定索引位置的元素替换为另一个值
LTRIM key start stop仅保留指定区间的数据
RPOPLPUSH list1 list2从list1右边弹出一个值,左侧压入到list2

5. set操作

set是无序的,且是不可重复的。

SADD key member [member …]将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
SMEMBERS key取出该集合的所有值
SISMEMBER key value判断集合是否为含有该值,有返回1,没有返回0
SCARD key返回集合中元素的数量
SREM key member [member …]从集合中删除元素
SPOP key [count]从集合中随机弹出(删除)count个数量的元素,count不指定就弹出1个
SRANDMEMBER key [count]从集合中随机返回count个数量的元素,count不指定就返回1个
SINTER key [key …]将指定的集合进行“交集”操作
SINTERSTORE dest key [key …]取交集,另存为一个set
SUNION key [key …]将指定的集合执行“并集”操作
SUNIONSTORE dest key [key …]取并集,另存为set
SDIFF key [key …]将指定的集合执行“差集”操作
SDIFFSTORE dest key [key …]取差集,另存为set

6. hash操作

Hash数据类型的键值对中的值是“单列”的,不支持进一步的层次结构。
常用操作:

HSET key field value为key中的field赋值value
HMSET key field value [field value …]为指定key批量设置field-value
HSETNX key field value当指定key的field不存在时,设置其value
HGETALL key获取指定key的所有信息(field和value)
HKEYS key获取指定key的所有field
HVALS key获取指定key的所有value
HLEN key指定key的field个数
HGET key field从key中根据field取出value
HMGET key field [field …]为指定key获取多个filed的值
HEXISTS key field指定key是否有field
HINCRBY key field increment为指定key的field加上增量increment

7. zset操作

zset是一种特殊的set(sorted set),在保存value的时候,为每个value多保存了一个score信息。根据score信息,可以进行排序。
这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了

ZADD key [score member …]添加元素
ZSCORE key member返回指定值的分数
ZRANGE key start stop [WITHSCORES]返回指定区间的值,可选择是否一起返回scores
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]在分数的指定区间内返回数据,从小到大排列
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]在分数的指定区间内返回数据,从大到小排列
ZCARD key返回集合中所有的元素的数量
ZCOUNT key min max统计分数区间内的元素个数
ZREM key member删除该集合下,指定值的元素
ZRANK key member返回该值在集合中的排名,从0开始
ZINCRBY key increment member为元素的score加上增量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值