Redis数据类型极其操作

1. Redis数据类型

字符串 String
哈希 Hash
列表 List
集合 Set
有序集合 Zset

2. String类型

字符串类型是Redis中最基础的数据类型,他在Redis中是二进制安全的,可以接受任何格式的数据,如JEPG图像数据或JSON对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M

(1)保存

如果设置的键不存在则为添加,如果设置的键已经存在则修改

  • 设置键值set
set key value

在这里插入图片描述

  • 获取键值get
get key

在这里插入图片描述

  • 设置键值及其过期时间,以秒为单位setex
setex key second value

在这里插入图片描述

  • 一下设置多个键值mset
mset key1 value1 key2 value2 key3 value3 .....

在这里插入图片描述

  • 追加值append
append key value

在这里插入图片描述
(2)获取

根据键获取值,如果不存在此键则返回nil

  • 获取 单个键的值get
get key
  • 获取多个键的值mget
mget key1 key2 key3 ...

在这里插入图片描述
(3)键命令

查找键,支持正则表达式

keys pattern
  • 查看所有键
keys *

在这里插入图片描述

  • 查看名称中包含a的键
keys 'a*'

在这里插入图片描述

  • 判断数据库中是否存在某个键exists,如果存在返回1,不存在返回0
exists key

在这里插入图片描述

  • 查看key对应的value的类型 type
type key

在这里插入图片描述

  • 删除键级对应的值del,可以以下删除多个键值
del key1 [key2 key3]

在这里插入图片描述

  • 设置过期时间expire
expire key seconds

在这里插入图片描述

  • 查看有效时间ttl,如果设置了超时时间,过期后再获取会返回-2,如果对为设置超时时间的键获取有效时间会返回-1
ttl key

当我们设置的超时时间过期后,再获取会返回-2
在这里插入图片描述

3. HASH类型

hash用于存储对象,对象的结构为属性
得类型为string

(1)增加

  • 设置单个属性hset
hset key filed value

在这里插入图片描述

  • 设置多个属性hmset
hmset key filed1 value1 filed2 value2 ...

在这里插入图片描述
查看user类型
在这里插入图片描述
(2)获取

  • 获取指定键所有的属性hkeys
hkeys key

在这里插入图片描述

  • 获取一个属性的值hget
hget key field

在这里插入图片描述

  • 获取多个属性的值hmget
hmget key field1 field2 ...

在这里插入图片描述

  • 获取所有属性的值
hvals key

在这里插入图片描述
(3)删除

  • 删除整个hash键及值,使用del命令
del key
  • 删除属性,属性对应的值会被一起删除
hdel key field1 field2

在这里插入图片描述

4. 列表

列表的元祖类型为string
按照插入顺序排列

(1)增加

  • 在左侧插入数据
lpush key value1 value2 ...

在这里插入图片描述
在这里插入图片描述

  • 查看列表元素lrange ,结束位置大于列表长度时只返回所有元素,不会报错,
  • start、stop为元素的下标索引
  • 索引从左侧开始,第一个元素下标为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
  • lrange key 0 -1 :获取列表中的所有元素
lrange key start stop

在这里插入图片描述

  • 右侧插入rpush
rpush key value1 value2 ...

在这里插入图片描述
在这里插入图片描述

  • 在指定元素的前面或后面插入新元素linsert
linsert key before或after 现有元素 新元素

在这里插入图片描述
在列表num中的元素3之前加入一个新元素H
在这里插入图片描述

  • 设置指定索引位置的元素值lset
lset key index value

将列表num下标为0的元素值改为4
在这里插入图片描述
(2)删除

  • 删除指定元素
  • 将列表中前count次出现的值为value的元素移除(移除个数)
  • count > 0:从头往尾移除
  • count < 0:从尾往头移除
  • count = 0:移除所有出现的元素
lrem key count value
将列表 num 从前往后删除两个值为a的元素

在这里插入图片描述

将列表 num 从后往前删除一个值为c的元素

在这里插入图片描述

将列表 num 删除所有值为4的元素

在这里插入图片描述

5.集合

无序集合
元素为string
元素具有唯一性且不可变
说明:对于集合没有修改操作

(1)增加

  • 添加元素sadd
sadd key member1 member2 ...
向键为info的集合中添加元素'zhangsan'、'lisi'、'wangwu'

在这里插入图片描述
(2)获取

  • 返回所有的元素smembers
smembers key

在这里插入图片描述
(3)删除

  • 删除指定元素srem
srem key 元素

在这里插入图片描述

6.有序集合

sorted set:有序集合
元素为string类型
元素具有唯一性,不重复
每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
说明:没有修改操作

(1)增加

  • 添加
zadd key score1 member1 score2 member2 
向键为info的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3

在这里插入图片描述

(2)获取

  • 返回指定范围内的元素
  • start、stop为元素的下标
  • 索引从左侧开始,第一个元素下标为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop
  • 获取键为info的集合中所有元素
    在这里插入图片描述

  • 获取score值在min和max之间的成员(包括min和max)zrangebyscore
    在这里插入图片描述

  • 返回成员memberde的score值zscore
    在这里插入图片描述

(3)删除

  • 删除指定元素zrem
zrem key member1 member2 ...

在这里插入图片描述

  • 删除权重在指定范围内的元素
zremrangebyscore key min max

在这里插入图片描述

7.事务:

开启事务

  • 开启后,执行的所有任务都在该事务中存储
multi

执行事务

  • 事务执行后,存储在事务中的所有任务一并执行,返回结果
exec

取消事务

  • 事务取消则该事务内的所有任务都不会被执行
discard

监视

  • 监视一个或多个key,如果事务在执行之前,所监听的key发生变化,那么事务的执行将被打断
watch key ...

取消监视

unwatch key ...

8.发布订阅

1. 订阅频道消息

  • 可以订阅多个频道
subscrib channel
# subscrib channel1 channel2 ...

2. 频道发布消息

publish channel message

9. 数据持久化

redis持久化提供了两种数据备份方式,一种是RDB,另一种是AOF

RDBAOF
开启关闭开启:默认行为;关闭:把配置文件中的所有的save都注释即可开启:在配置文件中,将appendonly设置为yes;关闭:将其设置为no
同步机制可以指定某个时间内发生多少个命令就进行同步,比如1分钟内发生5次命令就进行同步每秒同步或每次发生命令后就同步
存储内容存储的是redis里面的具体值存储的是写操作命令
存储文件的路径根据dri以及dbfilename来指定路径和具体的文件名根据dri以及dbfilename来指定路径和具体的文件名
优点1.数据存储到文件中会进行压缩,文件体积比AOF小,2.因为存储的是redis具体值,并进行了压缩,因此在恢复时,比AOF快。3.适用于文件备份1.AOF的策略是每秒或每次发生写操作时进行数据同步,即使服务器发生故障,最多丢失1秒的数据。2.AOF存储的是redis命令, 并且是直接追加到AOF文件后面,因此,每次备份数据的时候只需要添加新的数据进去就可以了。3.如果AOF文件比较大了,那么redis会进行重写,只保留最小的命令集合。
  • RDB数据持久化配置信息 /etc/redis/redis.conf
    在这里插入图片描述
  • 数据存储文件
    在这里插入图片描述
  • AOF数据持久化配置
    在这里插入图片描述
    在这里插入图片描述

10. 设置用户名密码

在这里插入图片描述

  • 登录时指定密码认证
redis-cli -p 6379 -h 127.0.0.1 -a password
  • 登陆成功后认证
# 授权
127.0.0.1:6379> auth password
127.0.0.1:6379> set name xiaoming
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值