学习笔记2:redis基本操作

学习笔记2:redis基本操作

启动服务

在命令行中输入以下指令即可启动redis服务:

[redis-server文件的路径] [redis.conf文件的路径]

进入客户端

在命令行中输入以下指令即可进入操作redis的客户端:

[redis-cli文件的路径]

常用操作redis服务的指令

# 启动redis服务
systemctl start redis
# 重启redis服务
systemctl restart redis
# 停止redis服务
systemctl stop redis 
# 设置开机自启动
systemctl enable redis
# 禁止开机启动
systemctl disable redis

Active: active (running) 表示服务正在启动中

Active: inactive (dead)表示服务未启动

身份验证

进入redis客户端后,执行命令时可能会出现以下这种错误:

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

这是因为redis设置了身份验证,而我们进入客户端后没有通过身份验证导致的。

只需要在命令行中输入以下指令并输入正确密码即可通过认证。

127.0.0.1:6379> auth 123456
OK

提示结果显示为OK说明密码正确,通过认证!!!

清空redis中的数据

# 同步执行清除操作
FLUSHALL
# 异步执行清除操作
FLUSHALL ASYNC
  • FLUSHALL是同步执行的,即清空操作会在主线程中执行,这可能会影响主线程的运行。

  • FLUSHALL ASYNC则是异步执行的,清空操作会在一个新的线程中进行,不会妨碍主线程的运行。

当执行这个命令时,Redis会将所有存储在内存中的数据全部删除,并将内存空间释放回操作系统。这个命令的执行时间取决于数据库大小和Redis服务器的处理能力。如果Redis数据库非常大,清空所有数据可能会花费较长时间。

基本数据库操作

字符串String

# 设置指定的键值对
set key value
# 获取指定key的值
get key
# 设置指定key的值,并将key的过期时间设为seconds秒
setex key seconds value
# 只有在key不存在时才设置key的值
setnx key value

# 为已存在的键key添加超时时间seconds
expire key seconds

# 查看键key的有效期
ttl key

哈希hash

  • hash是一个string类型的field和value的映射表

  • hash特别适合用于存储对象

# 将哈希表key中的字段field的值设为value
hset key field value
# 获取存储在哈希表key中指定字段field的值
hget key field
# 删除存储在哈希表key中的指定字段field
# 可以一次删除多个字段
hdel key field
# 获取哈希表key中所有的字段
hkeys key
# 获取哈希表key中所有的值
hvals key
# 获取哈希表key中所有的字段field和值value
hgetall key

列表list

列表左边left(L)为头部,右边right(R)为尾部

按照插入顺序排序

# 将一个或多个值value插入到列表key头部
# 若执行lpush list 1 2 3 4
# 则列表结构为 4,3,2,1
lpush key value1 [value2]
# 将一个或多个值value插入到列表key尾部
rpush key value1 [value2]

# 获取列表key指定范围内[start,stop]的元素
lrange key start stop

# 移除并获取列表key第一个元素
lpop key
# 移除并获取列表key最后一个元素
rpop key

# 获取列表key的长度
llen key

# 移出并获取列表key的第一个元素,如果列表没有元素会阻塞列表直到等待超时timeout或发现可弹出元素为止
blpop key1 [key2] timeout
# 移出并获取列表key的最后一个元素,如果列表没有元素会阻塞列表直到等待超时timeout或发现可弹出元素为止
brpop key1 [key2] timeout

集合set

set是string类型的无序集合

集合成员是唯一的,这就意味着集合中不能出现重复的数据

# 向集合key中添加一个或多个成员member
sadd key member1 [member2]
# 返回集合key中的所有成员member
smembers key
# 获取集合key中成员member的数量
scard key
# 返回给定所有集合key的交集
sinter key1 [key2]
# 返回所有给定集合的并集
sunion key1 [key2]
# 返回所有给定集合的差集
sdiff key1 [key2]
# 移除集合key中一个或多个成员member
srem key member1 [member2]
# 判断成员member是否存在于集合key中
# 若存在,则返回1;否则返回0
sismember key member

有序集合sorted set

有序集合是string类型元素的集合,且不允许重复的成员

每个元素都会关联一个double类型的分数(score)。redis正是通过分数来为集合中的成员进行从小到大排序。

有序集合的成员是唯一的,但分数却可以重复

# 向有序集合key添加一个或多个成员member,或更新已存在成员的分数score
zadd key score1 member1 [score2 member2]

# 获取有序集合key中指定成员member的分数score
zscore key member

# 通过索引区间[start,stop]返回有序集合key中指定区间的成员member
# start stop是指元素下标,不是分数
# withscores表示按照分数进行排序
zrange key start stop [withscores]

# 有序集合key中对指定成员member的分数加上增量increment
# 即最终分数 = 原来的分数 + increment
zincrby key increment member

# 移除有序集合key中的一个或多个成员member
zrem key member1 [member2]
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值