首页 > 数据库 >Redis的基础命令

Redis的基础命令

时间:2024-10-26 11:20:05浏览次数:1  
标签:返回 存在 基础 元素 Redis value 命令 key 集合

一、数据库操作命令

1.redis中库的说明

redis中的库默认存在16个库,分别按照0-15来排列
选择库的命令:select 0-15
例如:select 1 就是选择一号库的意思

2.清空表的命令

1.清除当前表:flushdb
2.清除所有表:flushall

3.redis中客户端显示中文

./redis-cli -p 7000 --raw

二、操作key相关的命令

1.del指令

del key [key ...]
当只写一个的时候表示删除一个值返回0(false)或1(true),写多个值返回删除的个数

2.exists指令

exists key
判断给定的key是否存在,多个key之间使用空格分隔开
返回值为 0(不存在)或1(存在),返回存在的key的个数

3.expire

expire key seconds(秒单位的时间)
对已经存在的值设置过期时间
设置成功返回值为1

4.keys

keys pattern
查找符合给定模式的key
keys *表示查找该表下所有的键
keys h?o表示查找满足前面是h后面是o的键

5.move

move key db
将给定的key移动到指定的库下

6.pexpire

pexpire key milliseconds
与上面的expire用法一样,不过上面是设置为秒,这里是设置为毫秒

7.pexpireat

pexpireat key milliseconds-timestamp
这个命令和EXPIREAT 命令类似,但它以毫秒为单位设置key 的过期unix 时间戳,而不是像EXPIREAT那样,以秒为单位

8.ttl和pttl

这两个都是返回键的剩余生命周期,ttl是返回秒级的,pttl是返回毫秒级的

9.randomkey

随机返回一个表中存在的键,当数据库为空的时候,返回nil

10.rename

rename key newkey
将已经存在的键改成新的名字,成功返回ok,失败返回一个错误

11.type

type key
返回key所存储的值的类型,不存在返回none

二、String类型

1.set,get

set是设置一个key/value,get是根据key获取相应的值

2.mset和mget

mset是一次设置多个key value,mget是一次获取多个相对应键的值

3.getset

获取原始的值并将一个新值赋给他

4.strlen

获取相对应的值存储value的长度

5.append

为对应的key的value追加内容
如果成功返回的是是追加后的字符串的长度

6.getrange

getrange key 0 -1 指的是将获取当前key的所有字符
getrange key 0 2 指的是将获取当前key从第一个到第下标为2的字符

7.setex和psetex

setex是设置一个key存活的有效周期(秒)
psetex是设置一个key存活的有效周期(毫秒)

8.setnx和msetnx

setnx存在不做任何操作,不存在添加

msetnx对多个key进行判断,存在不做任何操作,不存在添加

9.decr和decrby

decr是进行数值类型的-1操作

decrby根据提供的数据进行减法操作

10.Incr,incrby和Incrbyfloat

Incr是进行数值类型的+1

incrby是根据指定的类型进行加运算

Incrbyfloat是根据提供的数加入浮点数

三、List类型

相当于java中的list集合一样,特点是元素有序(插入和取出的顺序一致)且可以重复,key是一个字符串,值是一个list

1.lpush,lpushx和rpush,rpushx

lpush将某个值加入到一个key列表的头部,如果不存在将会进行创建

lpushx同lpush,但是必须要保证这个key存在 必须在列表进行存在的情况下从左插入

rpush将某个值加入到一个key列表的尾部,如果不存在将会进行创建


rpushx同rpush,但是必须要保证这个key存在 必须在列表进行存在的情况下从右插入

2.lpop,rpop

lpop返回和移除列表左边第一个元素

rpop返回和移除列表右边第一个元素

3.lrange,llen

lrange获取某一个下标区间内的元素 lrange list 0 -1(返回所有元素)

llen获取列表元素个数

4.lset

设置某一个指定索引的值(索引必须存在)

5.lindex

获取某一个指定索引位置的元素

6.lrem,ltrim,linsert

lrem删除指定元素

ltrim保留列表中特定区间的元素

linsert在某一个元素之前或之后插入新元素

四、set类型

Set类型 Set集合 元素无序 不可以重复

1.sadd,smembers

sadd向set集合中添加元素

smembers显示集合中的所有元素,无序

2.scard,spop

scard返回集合中的元素
spop随机返回一个元素,并将元素在集合中删除

3.smove,srem

smove从一个集合向另一个集合中移动,必须是同种类型
smove set1 redis set 指的是将set1中的redis值移动到set集合中

srem删除集合中指定的元素

4.sismember,srandmember

sismember判断这个集合是否有该元素

srandmember随机返回元素,后面可以跟数字,表示需要返回的个数

5.sdiff,sinter,sunion

sdiff去掉第一个集合中其它集合含有的相同元素

sinter求交集
sunion求和集

五、ZSet类型

可排序的set集合 排序 不可重复

1.zadd,zcard

zadd向zset集合中添加元素
zcard返回集合中元素的个数

2.zrange,zrevrange,zrangebyscore

zrange(升序)返回一个范围内的元素 如果想看看分数 withscores
zrevrange(降序)

zrangebyscore按照分数查找一个范围内的元素

3.zrank,zrevrank

zrank返回排名

zrevrank倒序排名

4.zscore,zrem,zincrby

zscore显示一个元素的分数

zrem移除一个元素
zincrby给某个特定的元素加分

六、hash类型

value是一个map结构,存在key value key无序的

1.hset,hget,hgetall

hset设置一个或多个key/value对
hget获得一个key所对应的value值
hgetall获得所有的key/value对

2.hdel,hexists

hdel删除某一个key/value对
hexists判断一个key是否存在

3.hkeys,hvals

hkeys获得所有的键
hvals获取所有的值

4.hmset,hmget

hmset设置多个key/value
hmget获得多个key/value

5.hsetnx,hincrby,hincrbyfloat

hsetnx设置一个不存在key的值,如果存在则不进行任何操作,不存在则进行添加
hincrby为value进行加法运算
hincrbyfloat为value加入浮点值

标签:返回,存在,基础,元素,Redis,value,命令,key,集合
From: https://www.cnblogs.com/ndmtzwdx/p/18503381

相关文章

  • 【MySQL基础】数据库与表的基本操作:从创建到管理
    文章目录写在前面:1、数据库的创建和管理1.创建数据库:CREATEDATABASE注意事项:2.查看已有数据库:SHOWDATABASES3.删除数据库:DROPDATABASE防止误删4.总结2、表的创建与管理1.创建数据表:CREATETABLE2.查看表结构:DESCRIBE表名3.删除数据表:DROPTABLE4.修改表结......
  • docker 常用命令 和docker-compose的常用命令
    1.docker常用命令创建容器:dockercreate启动容器:dockerstart[id]停止容器:dockerstop[id]停止全部运行的容器:dockerstop`dockerps-q`重启容器:dockerrestart[id]查看运行中的容器:dockerps查看所有容器(包括已停止的):dockerps-a删除容器:dockerrm容......
  • 鸿蒙基础篇-组件
    “在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。”各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今天的学习,鸿蒙基础篇-组件首先在鸿蒙开发中,组件(Comp......
  • Redis的详细安装教程和环境变量配置(附有详细步骤讲解及相关操作截图和代码)
    NoSQL简介NoSQL数据库是一种非关系型数据库,它在处理大规模、高并发的动态网站数据时具有明显优势。NoSQL数据库的出现是为了解决传统关系数据库在处理大数据量和高并发请求时遇到的性能瓶颈。NoSQL数据库的设计允许它们在分布式环境中更有效地扩展,同时提供灵活的数据模型来适应不......
  • Lua语法基础教程(下篇)
    今天我们继续学习Lua语法基础教程,下篇。九、函数9.1初识函数函数是指一段在一起的、可以做某一件事儿的程序,也叫做子程序。在前面的内容中,我们已经接触过了函数的调用,这个函数就是前面用到了很多次的print(...)。调用函数只需要按下面的格式即可:函数名(参数1,参数2,参数3,.......
  • redis数据库操作指令
    一、数据库操作指令2、redis中库说明对于一个redis服务而言,包含默认有16个数据库给我们使用,从0开始编号,共15号数据库,默认使用的是0号数据库切换库,select库号举例:使用1号库:select1库和库之间数据不共享库和库之间的键可以重名2、redis中清空库的指令清空当前库flush......
  • 架构设计(17)大数据框架Hadoop与基础架构CDH
    HadoopHadoop是一个开源的大数据处理框架,由Apache软件基金会开发。它主要用于存储和处理大规模数据集,能够在分布式计算环境中有效工作。以下是Hadoop的详细介绍,包括其核心组件、架构、特性和应用场景。1.Hadoop的架构Hadoop的架构分为两个主要部分:Hadoop分布式文件系......
  • Redis
    Redis基础是什么(定义,特点)开源的基于内存的数据库(内疚多缘分)基于内存:读写速度快,适用于高性能应用场景,如缓存持久化:把数据存储到磁盘,方式有AOF日志,RDB快照等多数据结构:列表、哈希、集合等,灵活的应对不同场景原子性操作:支持原子性操作,维护并发环境下数据一致性分布式:提供......
  • ctfshow web入门命令执行——web29-40题解
    web291.传入c参数来进行代码执行,payload: c=system("catfla*.php");  如图2.浏览器默认不显示php的标签所以需要右键查看源代码web30题目过滤了命令执行函数system,还可以用passthur(),过滤的字符可以用?代替单个字符。payload:?c=passthur("catfla?.p?p");查看源......
  • 多线程基础
    一、线程、程序、进程的定义及区别程序:一组计算机能识别和执行的指令、它是一些保存在磁盘上的指令的有序集合。进程:程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程与进程相似,但线程......