首页 > 数据库 >Redis常用命令

Redis常用命令

时间:2022-08-27 15:56:20浏览次数:57  
标签:... destKey Redis value start hashKey key 常用命令

字符串string

能够存储字符串整数浮点数3种类型的值。

字符串

基本命令

+ get key //读取
+ set key value // 写入
+ del key // 删除

自增/自减

+ incr key // 键值加1
+ decr key // 键值减1
+ incrby key amount // 键值加amount
+ decrby key amount // 键值减amount
+ incrbyfloat key amount // 键值加上浮点数amount

子串

+ append key value //追加到末尾
+ getrange key start end //获取范围内的子串,包括start和end
+ setrange key offset value //从偏移量offset开始的子串设置为value

演示:

setrange key 0  'HHH' // hello  ===> HHHlo 
setrange key 5 ',world' // hello  ===> hello,world 

二进制位bit

把字符串当成bit数组处理

二进制位

命令

+ setbit key offset value //把指定的bit位设置为value(value只能是0或1)
+ getbit key offset //获取指定bit位的二进制的值
+ bitcount key [start end] //统计指定范围内bit位为1的数量

//对一个或多个二进制串执行按位运算,结果保存在destKey键中。操作包括并(and)、或(or)、异或(xor)和非(not)
+ bitop operation destKey key1 [key2 key3 ...] 

列表list

列表list

基本命令

+ lpush key value [value ...] //从左侧推入
+ rpush key value [value ...] //从右侧推入
+ lpop key //从左侧弹出
+ rpop key //从右侧弹出
+ lindex key offset //获取偏移量为offset的元素
+ lrange key start end //获取给定范围的所有元素,包括start和end
+ ltrim key start end //对列表进行修剪,只保留start到end之间的元素,包括start和end。

阻塞式(Block)及列表移动

+ blpop key1 [key2 key3 ... ]  timeout //从第一个非空列表中弹出左侧元素
+ brpop key1 [key2 key3 ... ]  timeout //从第一个非空列表中弹出右侧元素
+ rpoplpush sourceKey destKey //从sourceKey右侧弹出元素,推入destKey 左侧,并返回该元素
+ brpoplpush sourceKey destKey timeout //阻塞式rpoplpush,如果sourceKey为空则阻塞

集合set

没有排序,不重复。添加、删除、是否存在等操作(时间复杂度是 O(1) )

集合set

基本命令

+ sadd key item [item ...] //将元素添加到集合key中
+ srem key item [item ...] //从集合key中删除元素item 
+ sismember key item //判断元素item是否在集合key中
+ smembers key //获取集合key中的所有元素

//随机的返回一个或多个元素。count为正,则返回的元素不重复;count为负,则返回的元素可能会重复
+ srandmember key [count]
+ scard key //获取集合中元素的数量
+ spop key //随机的移除一个元素
+ smove sourceKey destKey item //把元素item从集合sourceKey移动到destKey中

运算操作

set 类型提供了多个 set 之间的聚合运算,如求交集、并集、补集,这些操作在 redis 内部完成,效率很高。

+ sdiff key1 [key2 key3 ...] //差集运算,返回存在第一个集合,但不存在于其他集合的元素
+ sdiffstore destKey key1 [key2 key3 ...] //把差集运算的结果存储到destKey 集合中

+ sinter key1 [key2 key3 ...] //交集运算,返回同时存在于所有集合中的元素
+ sinterstore destKey key1 [key2 key3 ...] //把交集运算的结果存储到destKey 集合中

+ sunion key1 [key2 key3 ...] //并集运算,返回至少存在于一个集合中的元素
+ sunionstore destKey key1 [key2 key3 ...] //把并集运算的结果存储到destKey 集合中

散列hash

散列hash

基本命令

+ hset hashKey subKey value //把键值对[subKey:value]添加到散列hashKey中
+ hget hashKey subKey //获取指定散列键的值
+ hmset hashKey subKey value [subKey value ...] //批量添加多个键
+ hmget hashKey subKey [subKey ...] //批量获取多个键
+ hdel hashKey subKey [subKey ...] //移除指定的散列键
+ hlen hashKey //返回散列中键值对的数量
+ hexists hashKey key //判断给定键是否存在于散列中
+ hkeys hashKey //获取散列 hashKey 中所有的键
+ hvals hashKey //获取散列 hashKey 中所有的值
+ hgetall hashKey //获取散列中所有的键值对

递增

+ hincr hashKey key amount //键key的值加上整数amount
+ hincrbyfloat hashKey key amount //键key的值加上浮点数amount

有序集合zset

存储结构与散列一样,都是键值对。
键被称为成员member,值被称为分值score,且必须为浮点数。

有序集合

基本命令

+ zadd key score member [score member ...] //添加成员
+ zrem key member [member  ...] //删除成员
+ zincrby key increment member //成员member的分值加上increment
+ zrank key member //返回成员member的排名
+ zscore key member //返回成员member的分值
+ zcard key //返回成员的数量
+ zcount key min max //返回分值介于min和max之间的成员数量

范围操作

+ zrange key start stop  [withscores] //返回排名介于start和stop之间的成员。如果指定withscores,则分值一起返回
+ zrangebyscore key min max [withscores] // 返回分值介于min和max之间的成员。
+ zremrangebyrank key start stop //移除排名介于start和stop之间的所有成员。
+ zremrangebyscore key min max //移除分值介于min和max之间的所有成员。

逆序操作

按照分值从大到小排列。

+ zrevrank key member //返回成员member的逆序排名
+ zrevrange key start stop  [withscores] //返回逆序排名介于start和stop之间的成员
+ zrevrangebyscore key min max [withscores] //返回分值介于min和max之间的成员,并按分值从大到小的顺序返回它们

标签:...,destKey,Redis,value,start,hashKey,key,常用命令
From: https://www.cnblogs.com/renzhsh/p/16630698.html

相关文章

  • redis-主从复制
    一、主从复制的建立1.在slave机器上运行replicaofmaster的ipmaster的ip(Redis5.0之前使用slaveof)2.启动redis时redis-server/etc/redis.conf--replicaof192.168.......
  • redis 入门安装流程
    redis安装流程安装linux的Redis[官网下载即可][https://redis.io/download/]一般会移动到opt目录下mvredis-7.0.4/opt在linux系统下安装redis加压命令tar......
  • java 连接 redis
    Jedis导入对应的依赖<dependencies><!--jedis--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId>......
  • vim 模式切换与常用命令
    前两天涉及到在linux中新增,编辑文件,那么vim就是绕不过去的使用工具了,本篇主要记录vim的简单使用指南,有遇到新的使用方法在进一步补充。首先是vim的简单介绍:Vimisahigh......
  • Redis
    官网:http://redis.cn/Windows版下载:https://github.com/microsoftarchive/redis/releasesLinux版下载:https://download.redis.io/releases/  Redis简介关系型数据......
  • 0 - Docker常用命令
    一、Docker命令重启docker: servicedockerrestart查看docker信息:dockerinfo二、镜像命令拉取镜像  dockerpull {image_name} 或者  dockerpulldocke......
  • tp3.2 Redis使用
    http://www.cnblogs.com/yun007/p/3705353.html根据这个配置redis注意php_redis.dll这个要和PHP的版本必须吻合还有就是电脑的操作系统$redis=new\Redis();$redis->con......
  • linux在开发项目中常用命令
    linux命令: 查看日志(实时):tail-fa.log 查看日志最新100行:tail-n100a.log 精确查找日志:cat-nxxx.log|grep"xxx打印" 查运行的进程:ps-ef|grepnsrep-self-s......
  • 【Java面试】准备跳槽!那这期面试题必须要会,请描述一下Redis的缓存淘汰策略
    “请你描述一下Redis的缓存淘汰策略”你如果你正好遇到这个问题,想好怎么回答了吗?关于这个问题,我把高手的回答整理到了15W字的面试文档里面大家可以私信留言领取。下面......
  • 容器化 | 使用 Alpine 构建 Redis 镜像
    上一期我们介绍了几种常见的构建镜像方式,并给出了功能对比、决策树等作为选型参考。本期我们将演示如何使用Alpine构建一个Redis镜像。Alpine系统使用apk包管理工......