目录
简介
主要解决高性能、高并发、高扩展的问题,是作为关系型数据库的一个补充
redis默认占用6379端口
redis的结构其实与map相似,也是key-value,key一般是字符串,当然,这个key不能太长也不能太短
redis的5中数据类型
string
字符串,相当于Java的String
转换为Java的写法就是Map<Object, String>
list
链表,相当于Java的list
转换为Java的写法就是Map<Object, List<Object>>
hash
相当于Java的Map
转换为Java的写法就是Map<Object, Map<Object, Object>>
set
相当于Java的set
转换为Java的写法就是Map<Object, Set<Object>>
zset
相当于Java的linkedHashSet,与set相同,但是zset是有序的
转换为Java的写法就是Map<Object, Set<Object>>
redis常用命令
查询以什么开头的 key
keys _* 假设查询以a开头的key keys a*
查询所有的key
keys *
查看当前库的大小(查看当前有多少key)
dbsize
判断某个key是否存在
exists key名 例如:exists username
存在返回1,不存在返回0
查看某个key的数据类型
type key名 例如 type username
给一个key添加失效时间,时间为秒
expire key名 时间 例如 expire password 60
查看某个key剩余有效时间
ttl key名 例如 ttl password
如果返回了-1,那说明这个key是永久有效的
清除某个key的倒计时
persist key名 例如 persist password
清空数据库
清空当前库所有的key
flushdb
选择数据库
select 库编号 例如 select 0
redis的持久化机制
RDB机制
按照时间,以及key的数量进行持久化,持久化到磁盘上
格式:
save 时间(秒) 发生变更的key的个数,例如,60秒内如果有100个key发生了变更,那就持久化:save 60 100
AOF机制
默认关闭的一个持久化机制,对redis的每一次操作,都会记录日志,redis重启,会按照日志进行重现,重做,间接达到保存数据的目的
开启AOF: 配置文件中:appendonly yes
appendfsync always 总是记录日志
appendfsync everysec 每秒记录
appendfsync no 不进行日志记录