redis常用命令和类型

Redis 常用命令

INFO :显示当前节点redis运行状态信息
SELECT :切换数据库,相当于在MySQL的 USE DBNAME 指
注意: 在 redis cluster 模式下不支持多个数据库,会出现错误
KEYS pattern :查看当前库下的所有key,此命令慎用!
BGSAVE :手动在后台执行RDB持久化操作DBSIZE #返回当前库下的所有key 数量
FLUSHDB :强制清空当前库中的所有key,此命令慎用!
FLUSHALL :强制清空当前redis服务器所有数据库中的所有key,即删除所有数据,此命令慎用! SHUTDOWN #
TYPE :查看一个key的数据类型
CONFIG :用于查看当前redis配置、以及不重启redis服务实现动态更改redis配置
注意不是所有配置都可以动态修改,且此方式无法持久保存

Redis数据类型

  • 字符串 string
  • Hash(哈希)
  • 列表list
  • 集合 set
  • 有序集合 sorted set

字符串 string
字符串是所有编程语言中最常见的和最常用的数据类型,而且也是redis最基本的数据类型之一,而
且redis 中所有的 key 的类型都是字符串。常用于保存 Session 信息场景,此数据类型比较常用。

定义一个键并设置过期时间为60秒

192.168.122.100:6379> set aa abc ex 5
OK
192.168.122.100:6379> get aa
"abc"
192.168.122.100:6379> get aa 
(nil)

追加键中的值

192.168.122.100:6379> set aa abc
OK
192.168.122.100:6379> get aa
"abc"
192.168.122.100:6379> append aa efg
(integer) 6
192.168.122.100:6379> get aa 
"abcefg"

获取键中值的长度

192.168.122.100:6379> strlen aa
(integer) 6

增加键中的整数值

192.168.122.100:6379> set smlt 1
OK
192.168.122.100:6379> incr smlt 
(integer) 2
192.168.122.100:6379> incr smlt 
(integer) 3
192.168.122.100:6379> incr smlt 
(integer) 4
192.168.122.100:6379> get smlt
"4"

删除键

192.168.122.100:6379> del smlt
(integer) 1
192.168.122.100:6379> get smlt
(nil)

字符串 string
SET key value [expiration EX seconds|PX milliseconds] [NX|XX]
SET key value 设置key-value
EX seconds :将键的过期时间设置为 seconds 秒。
PX milliseconds : 将键的过期时间设置为 milliseconds 毫秒
NX : 只在键不存在时, 才对键进行设置操作
XX : 只在键已经存在时, 才对键进行设置操作

在这里插入图片描述

Hash(哈希)
hash 是一个string类型的字段(field)和值(value)的映射表
Redis 中每个 hash 可以存储 2^32 -1 键值对,类似于字典,存放了多个k/v 对,hash特别适合用于
存储对象场景,或者存储mysql的表信息

实例

192.168.122.100:6379> hset city1 name "tianjin" techan "xiangsheng" gdp 2500
(integer) 3

查看所有字段

192.168.122.100:6379> hgetall city1
1) "name"
2) "tianjin"
3) "techan"
4) "xiangsheng"
5) "gdp"
6) "2500"

查看某个字段的值

192.168.122.100:6379> hget city1 name
"tianjin"
192.168.122.100:6379> hget city1 gdp
"2500

删除某个字段的值

192.168.122.100:6379> hdel city1 gdp
(integer) 1
192.168.122.100:6379> hgetall city1
1) "name"
2) "tianjin"
3) "techan"
4) "xiangsheng"

在这里插入图片描述

列表list
一个列表最多可以包含2^32-1(4294967295)个元素 下标 0 表示列表的第一个元素
可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素
列表特点:

  • 有序
  • 可重复
  • 左右都可以操作

列表的基本操作(在list1中插入数据)

192.168.122.100:6379> lpush list1 aa
(integer) 1
192.168.122.100:6379> lpush list1 bb
(integer) 2
192.168.122.100:6379> lpush list1 cc
(integer) 3
192.168.122.100:6379> lrange list1 0 -1
1) "cc"
2) "bb"
3) "aa"

将字符串dd插入到列表的尾部

192.168.122.100:6379> rpush list1 dd
(integer) 4
192.168.122.100:6379> lrange list1 0 -1
1) "cc"
2) "bb"
3) "aa"
4) "dd"

获取列表list1的长度

192.168.122.100:6379> llen list1
(integer) 4

获取列表下标为0的值

192.168.122.100:6379> lindex list1 0
"cc"

修改列表中下标为0的值

192.168.122.100:6379> lset list1 0 ccc
OK
192.168.122.100:6379> lindex list1 0
"ccc"

移除列表最左边的第一个元素

192.168.122.100:6379> lpop list1 
"ccc"
192.168.122.100:6379> lrange list1 0 -1
1) "bb"
2) "aa"
3) "dd"

在这里插入图片描述
集合 set
Set 是 String 类型的无序集合,集合中的成员是唯一的,这就意味着集合中不能出现重复的数据,
可以在两个不同的集合中对数据进行对比并取值,常用于取值判断,统计,交集等场景

  • 无序
  • 无重复
  • 集合间操作

设置一个集合,并添加三个元素

192.168.122.100:6379> sadd set1 redis 
(integer) 1
192.168.122.100:6379> sadd set1 mysql
(integer) 1
192.168.122.100:6379> sadd set1 mongodb
(integer) 1

查看集合中的所有元素

192.168.122.100:6379> smembers set1
1) "redis"
2) "mysql"
3) "mongodb"

删除集合中的元素

192.168.122.100:6379> srem set1 mongodb
192.168.122.100:6379> smembers set1
1) "redis"
2) "mysql"

集合取交集

192.168.122.100:6379> sadd xm baoqiang xiaocui benshan daliu
(integer) 4
192.168.122.100:6379> sadd bb baoqiang xiaoma xiaolu 
(integer) 3
192.168.122.100:6379> sinter xm bb 
1) "baoqiang"

集合取并集

192.168.122.100:6379> sunion xm bb 
1) "baoqiang"
2) "daliu"
3) "xiaolu"
4) "xiaoma"
5) "benshan"
6) "xiaocui"

集合取差集

192.168.122.100:6379> sdiff xm bb 
1) "xiaocui"
2) "daliu"
3) "benshan"

192.168.122.100:6379> sdiff bb xm 
1) "xiaolu"
2) "xiaoma"

在这里插入图片描述

有序集合 sorted set
有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double(双精度浮点型)类型的分数,redis正是通过该分数来为集合中的成员进行从小到大的排序有序集合的成员是唯一的,但分数(score)却可以重复,,集合是通过哈希表实现,经常用于排行榜的场景
有序集合特点:

  • 有序
  • 无重复元素
  • 每个元素是由score和value组成
    - score 可以重复
    - value 不可以重复

添加有序集合

192.168.122.100:6379> zadd haha 100 jjs
(integer) 1
192.168.122.100:6379> zadd haha 200 changjinhu
(integer) 1
192.168.122.100:6379> zadd haha 1000 zhanlang
(integer) 1

显示haha有序集合(会自动根据数值排序)

192.168.122.100:6379> zrange haha 0 4
1) "jjs"
2) "changjinhu"
3) "zhanlang"

从大到小排序

192.168.122.100:6379> zrevrange haha 0 4 
1) "zhanlang"
2) "changjinhu"
3) "jjs"

查看集合的个数

192.168.122.100:6379> zcard haha
(integer) 4

查看集合的成员的排名(索引)

192.168.122.100:6379> zrank haha zhanlang
(integer) 3

查看集合中某个元素的值

192.168.122.100:6379> zscore haha zhanlang
"1000"

删除集合中的一个元素

192.168.122.100:6379> zrem haha zhanlang 
(integer) 1 

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值