Redis学习笔记

1.Redis中库说明

  • 使用redis的默认配置器动redis服务后,默认会存在16个库,编号从0-15

  • 可以使用select 库的编号 来选择一个redis的库

2.Redis中操作库的指令

  • 清空当前的库 FLUSHDB

  • 清空全部的库 FLUSHALL

3.redis客户端显示中文

  • ./redis-cli -p 7000 --raw

1.2 操作key相关指令

1.DEL指令

  • 语法 : DEL key [key ...]

  • 作用 : 删除给定的一个或多个key 。不存在的key 会被忽略。

  • 可用版本: >= 1.0.0

  • 返回值: 被删除key 的数量。

2.EXISTS指令

  • 语法: EXISTS key

  • 作用: 检查给定key 是否存在。

  • 可用版本: >= 1.0.0

  • 返回值: 若key 存在,返回1 ,否则返回0。

3.EXPIRE

  • 语法: EXPIRE key seconds

  • 作用: 为给定key 设置生存时间,当key 过期时(生存时间为0 ),它会被自动删除。

  • 可用版本: >= 1.0.0

  • 时间复杂度: O(1)

  • 返回值:设置成功返回1 。

4.KEYS

  • 语法 : KEYS pattern

  • 作用 : 查找所有符合给定模式pattern 的key 。

  • 语法:

KEYS * 匹配数据库中所有key 。

KEYS h?llo 匹配hello ,hallo 和hxllo 等。

KEYS h*llo 匹配hllo 和heeeeello 等。

KEYS h[ae]llo 匹配hello 和hallo ,但不匹配hillo 。特殊符号用 "\" 隔开
  • 可用版本: >= 1.0.0

  • 返回值: 符合给定模式的key 列表。

  • 更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/

5.MOVE

  • 语法 : MOVE key db

  • 作用 : 将当前数据库的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

  • 语法 : TTL key

  • 作用 : 以秒为单位,返回给定key 的剩余生存时间(TTL, time to live)。

  • 可用版本: >= 1.0.0

  • 返回值:

当key 不存在时,返回-2 。

当key 存在但没有设置剩余生存时间时,返回-1 。

否则,以秒为单位,返回key 的剩余生存时间。
  • Note : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1 。

  • 更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/

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 。当数据库为空时,返回nil 。

11.RENAME

  • 语法 : RENAME key newkey

  • 作用 : 将key 改名为newkey 。当key 和newkey 相同,或者key 不存在时,返回一个错误。当newkey 已经存在时,RENAME 命令将覆盖旧值。

  • 可用版本: >= 1.0.0

  • 返回值: 改名成功时提示OK ,失败时候返回一个错误。

12.TYPE

  • 语法 : TYPE key

  • 作用 : 返回key 所储存的值的类型。

  • 可用版本: >= 1.0.0

  • 返回值:

none (key 不存在)

string (字符串)

list (列表)

set (集合)

zset (有序集)

hash (哈希表)

数据持久化

redis数据持久化分为两种:快照(rdb)、AOF(append only file)

当rdb和aof都开启时,redis在启动时会采用AOF来恢复数据

1.1 快照(RDB)

保存某一时刻的数据,redis默认使用的方式。它会生成.rdb后缀的文件(最后一次持久化的数据可能丢失)

1.2 AOF(append only file)

将所有的写命命令记录到日志文件

要使用AOF,需开启,在配置文件中:

更多技术文章、面试资料、工具教程,还请移步:http://www.javatiku.cn/

1.3 AOF重写的两种方式

客户端命令:BGREWRITEAOF(bgrewriteaof)即后台重写,不会阻塞redis服务

配置自动触发
#redis##Redis##学习路径#
全部评论
可以  可以试试用redis做分布式锁
点赞 回复 分享
发布于 2022-02-15 19:51

相关推荐

北冥有鱼吗:工作忙,现在没工作了哈哈哈
点赞 评论 收藏
分享
1 7 评论
分享
牛客网
牛客企业服务