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##学习路径#