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

redis常用命令

时间:2024-09-24 19:20:08浏览次数:3  
标签:set val key2 key1 redis mapname key 常用命令

Redis基操

redis不区分大小写,而且redis是单线程数据库(不支持多线程),故redis是基于内存操作,cup不是redis的性能瓶颈,其瓶颈是网络带宽和机器内存

一、常用数据库级别指令

select index

切换不同数据库:redis初始数据库有16个,默认使用的是第零个数据库,不同数据库可以存不同的值


dbsize

查看当前数据库大小


keys *

查看当前数据库的所有key


set key val

以键值对的方式插入数据


get key

通过key获取value


mset key1 val1 key2 val2

批量设置值


mget key1 key2 key3

批量获取值


setnx key val

在插入时判断字符串是否存在(常在分布式锁中使用)


msetnx key1 val1 key2 val2

批量设置时,判断是否存在(原子性操作)


set key:id{key1:val1,key2:val2}

设置对象


getset key val

先获取,在设置(没有则创建,有则更改)


flushdb

删除当前库


flushall

删除所有数据库


setex key time value

在插入数据时,设置过期时间,单位:秒(s)


expire key time

插入完数据后,设置过期时间,单位是秒(s)


ttl key

查看剩余过期时间(-2表示已过期,-1表示永久不过期)


type key

查看key存储的值的类型

二、String类型的常用指令

incr key

将key所在的值加1(只能是int类型的,如果String中存的是数字例如set key1 ‘1’,那么执行该指令也会将String中的值增1)


decr key

将key所在的减少1(只能是int类型的,如果String中存的是数字例如set key1 ‘1’,那么执行该指令也会将String中的减少1)


incrby key n

将key所在的值加n(只能是int类型的,如果String中存的是数字例如set key1 ‘1’,那么执行该指令也会将String中的值增n)


debrby key n

将key所在的减少n(只能是int类型的,如果String中存的是数字例如set key1 ‘1’,那么执行该指令也会将String中的值减少n)


getrange key head end

截取字符串,通过key截取从head 开始到end结束的字符串(下标0开始)


getrange key 0 -1

截取所有字符串


三、List类型的常用指令

所有的list命令都以1开头,可以看做栈或者队列的结构


lpush key val

设置值,将一个或多个值插入表头(第一行数据的位置)


rpush key val

设置值,将一个或多个值插入表尾(最后一行数据的位置)


lrange key head end

查询从head到end的值


lrange key 0 -1

查询所有的值


lpop key

移除表头(第一行数据)


rpop key

移除表尾(最后一行数据)


lindex key index

查询单个值(起始从0开始)


llen key

获取当前list的长度


lrem key count val

移除指定的值,count:移除的个数


ltrim key head end

截断从head开始,到end结束


rpoplpush key1 key2

移除列表最后一个元素并将其移动到另一个列表(key2)中


lset key index val

更新数据,index表示第几个元素(下标从0开始),val表示更新后的值


linsert key befor/after val newval

插入数据,在前面/后面插入数据


四、Set类型的常用指令

Set中的值时不能重复的


sadd key val

插入元素


smembers key

查看指定set的key的所有值


sismember key val

判断是否存在set中


scard key

获取set长度


srem key val

移除值


srandmember key

随机抽取元素


smove key1 key2 val

将一个指定的值移动到另一个set集合(key2)


sdiff key1 key2

取两集合的差集


sinter key1 key2

取两集合的交集(共同好友实现)


sunion key1 key2

取两集合的并集


五、Hash类型常用指令

Hash也是key-value的形式,与set有所不同的是,Hash的value时map集合的,所以Hash的形式时key-map的形式(存在则覆盖)[常常存储变更数据(用户信息保存,经常变更的信息)]


hset mapname key val

存数据


hget mapname key

取数据


hgetall key

获取一个key中的所有值


hdel mapname key

删除指定的key字段,值也删除


hlen mapname

获取当前mapname的长度


hkeys mapname

获取当前mapname下的所有key


hvals mapname

获取当前mapname下的所有val


hexists key val

判断某个值是否存在


hincrby mapname key n

将mapname下的key所对应的值增加n或者减少n(取决于n的值是正数还是复数)


hsetnx mapname key val

存在则不设置值,不存在则设置值


六、Zset类型常用指令

zset是一个有序集合,可以实现权重,类似于热点排行榜


zadd name index val

添加,index是权重,可以设置1那么排名就是第一


zrange name 0 -1

获取所有值


zrangebyscore name -inf +inf

通过权重标志排序(-inf +inf是负无穷到正无穷排序,可以换成准确的数字)


zrem name val

移除元素


zcard name

获取指定元素的个数


zcount name head end

判断区间内的值有多少个


七、特殊数据类型geospatial

geospatial地理位置,具体场景:朋友定位,附近的人,打车距离计算…


geoadd key 经度 纬度 name

添加地理位置(南北两极无法直接添加)


geopos key name

查询城市的经纬度


geopos key name1 name2

查询多个城市的经纬度


geodist key name1 name2 km

查询两地的距离单位是km,可以换成:m(米),km(千米),mi(英里),ft(英尺)


georadius key 经度 纬度 半径 km [withdist] [withcoord]

以给定的经度纬度为中心,找出某一半径内的元素,可选参数withdist显示距离,withcoord显示经纬度。单位是km,可以换成:m(米),km(千米),mi(英里),ft(英尺)。


georadiusbymember key name 半径 km [withdist] [withcoord]

以给定元素为中心,找出某一半径的元素,可选参数withdist显示距离,withcoord显示经纬度。单位是km,可以换成:m(米),km(千米),mi(英里),ft(英尺)。

八、Redis的事务

事务的本质是一组命令的集合,也就是说,一个事务所有的命令都会被序列化,与其他的事务相同,ACID的原则,要么同时成功,要么同时失败,每单条指令都是具有原子性的,但是redis不保证原子性。


multi

开启事务


exec

执行事务


discard

放弃事务


如果遇到编译时异常,则事务中所有的命令都不会被执行。运行时异常,其他代码照常执行,异常代码报错。

标签:set,val,key2,key1,redis,mapname,key,常用命令
From: https://blog.csdn.net/paopaozaixue/article/details/142487588

相关文章

  • 在虚拟机Linux上运行redis,同时使用Another RedisDesktop Manager图形化界面工具连接
    VMwareWorkstationPro虚拟机启动Centos7MobaXterm连接虚拟机输入个人密码Redis启动进入Redis文件目录cd/usr/local/src/redis-6.2.6Redis自启动systemctlenableredissystemctlstartredis查看Redis进程ps-ef|grepredis进入Redis操作redis-cli-h......
  • docker 环境快速安装 redis
    Redis介绍Redis全称为RemoteDictionaryServer(远程数据服务),是一款开源的基于内存的键值对存储系统,其主要被用作高性能缓存服务器使用,当然也可以作为消息中间件和Session共享等。Redis独特的键值对模型使之支持丰富的数据结构类型,即它的值可以是字符串、哈希、列表、集合、......
  • redis数据库通过dump.rdb文件恢复数据库或者数据库迁移
     环境:centos7.2软件:redis-3.2.10(yum安装)情景一:公司之前的redis没有开启aof模式,一直是rdb模式,但是数据又非常重要,数据一点也不能丢失,所以需要开启aof,但是redis默认是从appendonly.aof加载数据,systemctlstartredis的时候,数据库是空的,因为我们并没有appendonly.aof文件,而且关......
  • linux系统的常用命令
    Linux系统提供了大量的命令来管理系统和处理文件。以下是一些常用的Linux命令及其简要解释:1、ls:列出目录内容。ls-l#列出详细列表ls-a#列出所有文件,包括隐藏文件2、cd:改变当前目录。cd/path/to/directory#切换到指定目录cd..#返......
  • 教你如何在Java中操作Redis
    Redis的Java客户端Redis的Java客户端很多,常用的几种:Jedis:基于Java的Redis客户端,提供了Redis命令的全面支持。Lettuce:高性能的Java客户端库,用于与Redis数据库进行交互。它支持同步、异步和反应式编程模型,提供了丰富的API来操作Redis。Lettuce与Jedis并列成......
  • 艾体宝产品丨无需代码开发!Redis数据集成助你轻松优化数据库​
    我们不仅致力于加速应用程序的构建过程,更专注于助力您达成最终目标——实现应用的高效运行。因此,我们欣然宣布,Redis数据集成(RedisDataIntegration,RDI)(https://redis.io/data-integration/)已经正式发布。RDI是一款专为实现实时数据同步至Redis而设计的工具,旨在减轻您构建自......
  • Redis_study_01
    Redis十大基本数据类型总览:数据类型是指value的数据类型,key的数据类型固定为StringRedis命令不区分大小写,但是key区分大小写,因为key是唯一的都是一些命令,不懂的直接在官网上搜,里面的参数都有解释https://redis.io/docs/latest/commands例如String里面的setSETke......
  • Docker常用命令
    背景描述    A平台实现了通过xen运行dom0,domU。移植B平台时因为运行环境差异程序无法运行,再加上一些下载权限的限制,从而引入Docker,需要将Xen运行Dom0和DomU的环境统一在Dockerfile中配置完成,创建Docker容器所需要的Image会依据Dockerfile的配置生成。以下为目前本人......
  • 在 Go 语言中使用 Redis 实现分布式锁
    目录在Go语言中使用Redis实现分布式锁一、分布式锁的概念和作用二、Redis实现分布式锁的原理三、在Go语言中使用Redis实现分布式锁的步骤(一)安装Redis客户端库(二)定义分布式锁结构体(三)实现获取锁的方法(四)实现释放锁的方法(五)使用分布式锁四、注意事项五、总......
  • [redis命令]字符串命令
    命令表命令含义SET设置指定key的值GET获取指定key的值GETRANGE返回key中字符串值的子字符GETSET将给定key的值设为value,并返回key的旧值(oldvalue)GETBIT对key所储存的字符串值,获取指定偏移量上的位(bit)MGET获取所有(一个或多个)给定key的值SETBIT......