1、总共16个库0~15
2、如果查询一个key的过期时间ttl key返回的是-1 表示不过期;-2表示已经过期;其他为具体时间
3、常见数据类型:字符串,hash(对象)、列表(List)、散列(set)-无序、有序集合(sortedSet)
4、常用命令:keys *、flushdb(清理数据库)
字符串: set k v、get k(支持通配符)、setnx k v、setex k time(设置过期时间)、del k(删除key)
hash:hset 对象key 属性key 内容
list:lpush key [v]、lrange key 开始下标 结尾下标(获取值)--(链表)栈操作,后放入的在第0下标;
lrange key 开始下标 -1:取到所有的值 设置-1
set:sadd k v(设置值)、smembers k(取值)、srem k (删除key)
有序集合: zadd k 分数 v 、zrange k 0 -1(查看所有数据)、--分数的概念,默认升序排列;
zrange k 0 -1 withscores(带分数查看)
5、常见使用场景:缓存数据、session共享、分布式锁等
6、事务:在一个事务中如果发生了错误则后边的变更将继续完成,不会进行回滚;
开启事务:multi
取消事务:discard
提交事务:exec
7、乐观锁设置(逻辑锁)
8、设置密码:修改redis.conf;尽量复杂、尽量长
9、修改配置文件:注释掉bind,不然没有办法远程链接
10、java web服务集成redis-jedis
11、最高支持每秒10W并发的访问次数
12、服务器主从配置(一主多仆、层级主仆)(主要作用就是为了数据备份,但如果主服务器挂掉需要手动切换到仆服务器)
1>主仆配置不需要在主服务上做修改或配置;
2>仆服务器修改配置文件,将主服务器地址和端口配置并配置主服务的密码
3>客户端通过info命令可以查看仆服务的信息
13、缓存穿透、雪崩、击穿
14、redis数据持久化(防止断电后数据丢失等情况)
15、redis注解使用
redis在java中的使用(注解和jedis)_子书少卿的博客-优快云博客_java redis 注解
16、redis集群
问题:
1、持久化RDB的方式自动保存方式中的save会阻塞主进程吗?和主动保存的save命令一样吗?
2、同步数据