首页 > 数据库 >redis 命令

redis 命令

时间:2024-10-30 23:01:25浏览次数:4  
标签:返回 name -- redis 元素 list1 命令 key

数据库操作指令

查看当前数据库中的所有键 key *
1.对于一个redis服务而言,包含默认有16个数据库给我们使用,从0开始编号,共15号数据库,默认使用的是0号数据库
切换库,select 库号 举例:使用1号库:select 1
库和库之间数据不共享
库和库之间的键可以重名

2.Redis中清空库的指令

  • 清空当前的库 FLUSHDB
  • 清空全部的库 FLUSHALL

3.redis客户端显示中文 连接可以在任意目录下进行连接,启动服务器时时=是在哪个文件下则该文件就是数据库,保证端口号不同有多个redis数据库
redis-cli -p 7000 --raw

操作key相关指令(分别演示案例)

1.DEL指令

- 语法 :  DEL key [key ...] 
- 作用 :  删除给定的一个或多个key 。不存在的key 会被忽略。多个key之间使用空格隔开
- 可用版本: >= 1.0.0
- 返回值: 被删除key 的数量
get name
set age 18
set sex 男
set salary 23152
keys *
del sex age work
# 2.EXISTS指令
- 语法:  EXISTS key [key ...]
- 作用:  检查给定key 是否存在。多个key之间使用空格隔开,只要有一个key存在,返回值就是1 新版本中会提示几个键存在
- 可用版本: >= 1.0.0
- 返回值: 若key 存在,返回的是存在的个数。 
exists name age sex worker --3
# 3.EXPIRE 只能对已经存在的key设置过期时间(重要)
- 语法:  EXPIRE key seconds
- 作用:  为给定key 设置生存时间,当key 过期时(生存时间为0 ),它会被自动删除。
- 可用版本: >= 1.0.0
- 时间复杂度: O(1)
- 返回值:设置成功返回1 。
# 5.MOVE
- 语法 :  MOVE key db  (move name 1----将name键移动到1号库)
- 作用 :  将当前数据库的key 移动到给定的数据库db 当中。
- 可用版本: >= 1.0.0
- 返回值: 移动成功返回1 ,失败则返回0 。
# 6.PEXPIRE
- 语法 :  PEXPIRE key milliseconds
- 作用 :  这个命令和EXPIRE 命令的作用类似,但是它以毫秒为单位设置key 的生存时间,而不像EXPIRE 命令那样,以秒为单位。
- 可用版本: >= 2.6.0
- 时间复杂度: O(1)
- 返回值:设置成功,返回1  key 不存在或设置失败,返回0
# 7.PEXPIREAT
- 语法 :  PEXPIREAT key milliseconds-timestamp
- 作用 :  这个命令和EXPIREAT 命令类似,但它以毫秒为单位设置key 的过期unix 时间戳,而不是像EXPIREAT那样,以秒为单位。
- 可用版本: >= 2.6.0
- 返回值:如果生存时间设置成功,返回1 。当key 不存在或没办法设置生存时间时,返回0 。(查看EXPIRE 命令获取更多信息)

# 8.TTL(time to live)
- 语法 :   TTL key
- 作用 :   以秒为单位,返回给定key 的剩余生存时间(TTL, time to live)。
- 可用版本: >= 1.0.0
- 返回值:
	当key 不存在时,返回-2 。
	当key 存在但没有设置剩余生存时间时,返回-1 。
	否则,以秒为单位,返回key 的剩余生存时间。
- Note : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1 。
# 9.PTTL
- 语法 :  PTTL key
- 作用 :  这个命令类似于TTL 命令,但它以毫秒为单位返回key 的剩余生存时间,而不是像TTL 命令那样,以秒为单位。
- 可用版本: >= 2.6.0
- 返回值: 当key 不存在时,返回-2 。当key 存在但没有设置剩余生存时间时,返回-1 。
- 否则,以毫秒为单位,返回key 的剩余生存时间。
- 注意 : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1 。
# 10.RANDOMKEY
- 语法 :  RANDOMKEY
- 作用 :  从当前数据库中随机返回(不删除) 一个key 。
- 可用版本: >= 1.0.0
- 返回值:当数据库不为空时,返回一个key 。当数据库为空时,返回null 。
# 12.TYPE
- 语法 :  TYPE key
- 作用 :  返回key 所储存的值的类型。
- 可用版本: >= 1.0.0
- 返回值:
	none (key 不存在)
	string (字符串)
	list (列表)
	set (集合)
	zset (有序集)
	hash (哈希表)

String类型(分别演示)

  1. 内存存储模型

点击查看代码
set name 张三
set age  19
set bir 2002-12-12
set salary 20000
keys *
get name
get age
get bir
get salary

mset name 王骏 age 17 bir 2002-02-25 salary 30000
mget name age bir salary
getset name lina
getset age 22
getset bir 2003-02-04
getset salary 23000
mget name age bir salary
strlen bir
append name 娜
set name 李娜
append  name 娜
get name
set hobby whoareyou
getrange hobby 6 8
setex yzm 60 1234
get yzm
ttl yzm
get age
decr age
decrby age 9
incrby age 22
get salary
incrbyfloat salary 500.5


List类型

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

点击查看代码
--list

lpush list1 wangjun lina zhangsan
--从左往右放入集合
llen list1
lrange list1 0 2
lpop list1
rpop list1
-- 取右边的

  --先进后出: 模拟进栈出栈

rpush list2 zhangsan lisi wangwu
--从右往左放入
llen list2
lrange list2 0 4
rpop list2
--取出数据

--删除表
del list1
del list2

--从左边放入
lrange list1 0 2

--从右边开始取出
rpush list1 wangjun
--取出对应区间的的元素(索引)
lrange list1 0 2
--设置指定索引上的元素
lset list1 2 wangxiaojian
lrange list1 0 2
lpush list1 wangjun
lrange list1 0 10
--删除list1 表中wangjun这条数据 1,2,3 ... 一次,二次,三次 0 是指所有的重复元素
lrem list1 2 wangjun

-- 获取指定位置上的元素
lindex list1 1
--保存列表中特定区间的元素
ltrim list1  0 2

lpush list1 zhangsan lisi wangwu liuliu
lrange list1 0 10
--在某一个元素之前添加一个(后面的需要添加的元素)
linsert list1 before liuliu menjingsuo
--在某一个元素之前添加一个(后面的需要添加的元素)
linsert list1 after liuliu girl

Set类型

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

常用命令 (如果set集合没有元素,key也就不存在了)

点击查看代码
--set集合
--为集合添加元素
sadd set1 唱歌 跳舞 跑步 打羽毛球
--显示集合中所有元素(无序)
smembers set1
--从集合中删除一个元素
srem set1 like
--返回集合中元素的个数
scard set1
--随机返回一个元素,并将元素在集合中删除
spop set1
smembers set1
sadd set1 打篮球
sadd set2 洗脚 泡澡
--从一个集合向另外一个集合移动元素 =,必须是同一类型
smove set1 set2 打篮球
smembers set2
--判断一个集合中是否含有这个元素
sismember set1 泡脚
sismember set2 洗脚
--随机返回元素后面叫数字表示每次返回的个数
srandmember set1 2
--去掉第一个第一个集合中其他集合含有的相同元素
sdiff set1 set2
sadd set1 泡澡
smembers set1
sdiff set1 set2
--求交集
sinter set1 set2
--求合集
sunion set1 set2

ZSet类型

特点: 可排序的set集合 排序 不可重复


点击查看代码
--zadd
-- 添加一个有序集合
zadd zset1  1 wangjun 3 lina 2 zhangsan 5 lisi 4 zhaoyun 10 nana
--返回集合的个数
zcard zset1
--返回一个范围内元素 ,查看升序分数
zrange zset1 0 5
--返回一个范围内元素 ,查看降序分数

zrevrange zset1 0 5
--按照分数查找一个范围内的元素   0 100 分数应该在范围内不然无法显示
--查看所有 没有限制
zrangebyscore zset1 0 100 withscores
--有限制前闭后开
zrangebyscore zset1 0 100 withscores limit 0 3
--从0开始升序排序 --0
zrank zset1 wangjun
--  倒序排名--5
zrevrank zset1 wangjun
--显示指定元素的分数
zscore zset1 nana
--移除指定元素
zrem zset1 lisi
zrange zset1 0 20
--给某个元素加分
zincrby zset1 10 lina

hash类型

特点: value 是一个map结构 存在key value key 无序的

redis key(String) value(map)

Map<String,Map<String,value>> map

举例:map name zhangsan


-hash 大key 是hash1 多个小key name age content address
hset hash1 name xiaohu age 18 content 数加科技 address 安徽省合肥市
hset hash2 name 樱桃 price 98 description 相当好吃 address 水果店
--获取 一个key对应的值
hget hash1 name

--获取所有的key/value
hgetall hash1
hgetall hash2
--删除一个键值对
hdel hash2 price
--判断一个key是否存在
hexists hash1 name
--获取所有的key
hkeys hash1
--获取所有的值
hvals hash1
--设置多个keyvalue
hmset hash3 name wangjun sex 男 clazz 大数据一班
--获取多个key的value
hmget hash3 name sex clazz
hgetall hash2
--为value做加法运算(只针对数值)

hincrby hash1 age 10
hgetall hash1

--为value加上浮点型
hincrbyfloat hash2 price -10

标签:返回,name,--,redis,元素,list1,命令,key
From: https://www.cnblogs.com/wangxiaojian-lina/p/18516184

相关文章

  • redis中知识以及面试题
    一、非关系型数据库NoSql如下四种类型都是非关系型数据库1.键值存储数据库(Key-Value)如redis,就是键值存储数据库2.列存储数据库如clickhouse是列存储3.文档型数据库4.图形数据库(Graph)二、redis的特点redis是一个高性能的非关系型数据库,其中的所有数据形式都是以键值对的方......
  • 一些常见的dos命令
    盘符命令改变当前路径:cd+"/d"+路径返回上一级:cd+..查看当前文件夹的所有文件dir清理屏幕cls退出终端exit查看电脑ipipconfig打开应用calc计算器mspaint绘图notepad记事本ping命令(获得ip地址,测试网络)pingwww.baidu.com文件操作md创建一个目......
  • 二十三种设计模式之命令模式
    目录1.什么是命令模式?2.命令模式的组成3.命令模式的优点4.命令模式的缺点5.使用场景6.实践中的应用7.拓展:命令模式与现代框架8.结语        在软件工程领域,设计模式是解决特定问题的成熟模板。今天,我想和大家分享一种非常实用的行为设计模式——命令......
  • Linux 常用命令笔记
    Linux命令行常用快捷键Ctrl+a:移到行首Ctrl+e:移到行尾ctrl+u:光标处往前删除ctrl+k:光标处往后删除Linux常用命令汇总vim:dd:删除游标所在的一整行(常用)网络相关命令汇总netstat:打印网络连接、路由表、接口统计、伪装连接和多播成员关系lsof:lsof(listopenfiles)是一个列出当......
  • redis 安装
    什么是Redis总结:redis是一个内存型的数据库Redis特点(面试必问)-Redis是一个高性能key/value内存型数据库在redis中,所有的数据形式都是以键值对的方式来存储的-Redis支持丰富的数据类型string,list,set,sortedset,hash指的是键值对中的值的类型-Redis支持持......
  • Redisson 使用示例
    Redisson是一个Java的Redis客户端,基于Redis实现了许多分布式数据结构和功能,例如分布式锁、缓存、限流器、布隆过滤器等。以下是一些常见的Redisson使用示例,来自ChatGPT,用于自学。Redisson提供了 RLock 接口用于实现分布式锁,适用于需要同步访问共享资源的分布式应用......
  • 带内串口 在串口中输入命令
    defhioadm_shell(self,start_cmd,cmd,wait_str='PressCTRL+C',wait_time=2,record_size=10240):"""进入盘内命令hioadmshell+控制盘Args:start_cmd:hioadmshell+devicecmd:nextcmdRet......
  • WMIC命令无法返回网卡的速率信息
    某个自动化的脚本,需要通过WMIC命令来读取网卡的speed信息,然而,有一台WindowsServer2019的实体机,这个命令却读不到网卡的speed信息。使用的命令如下:wmicNICwherenetenabled=truegetspeed,name,netconnectionid尝试用WMIC命令直接修改,失败了。网上搜索了一番,也没有什么斩获。......
  • Java中常用的监控命令
    Java提供了多种监控工具,这些工具包含了许多命令行工具,用于监控、诊断和管理Java应用程序的性能。这些工具主要位于Java安装目录下的bin文件夹中,以下是几个常用的Java自带监控命令的详细说明:1.jps(JavaVirtualMachineProcessStatusTool)用于列出当前运行的......
  • Linux常用信息收集命令
    查看Linux系统内核信息uname-a查看Linux操作系统版本信息cat/proc/version查看Linux操作系统发行版信息lsb_release-acat/etc/issuecat/etc/redhat-release查看设备型号sudo/usr/sbin/dmidecode-ssystem-product-name查看CPU相关信息CPU数量:cat/pro......