1、什么是Redis 数据库?
Redis 是一个基于内存的高性能key-value数据库。
2、Redis 支持的数据类型有哪些?
Redis 支持五种类型的数据类型
(1) String 字符串
(2) hash (哈希)
(3) list (列表)
(4) set (集合)
(5)sorted set
3.Redis为什么使用单进程单线程方式也这么快
Redis快的主要原因是:
1.完全基于内存
2.数据结构简单,对数据操作也简单
3.使用多路 I/O 复用模型
4.单进程单线程弊端
无法发挥多核CPU性能,不过可以通过在单机开多个Redis实例来完善;
5. redis 是线程安全吗
Redis 所有操作是原子性的,所以线程是安全的。
5、edis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,使用Redis的场景。
主要从以下几个方面介绍:
(1) 分布式锁
(2) 接口限流器
(3) 订单缓存
(4)Redis和DB数据一致性处理
(5) 防止缓存穿透和雪崩
(6)分布式session共享
6、redis 常用命令
https://blog.csdn.net/dongganen/article/details/78882024
7、Redis 的持久化方式
1.快照
Snapshotting持久化(快照,默认),RDB持久化默认生成的文件名为dump.rdb,以下为配置文件的信息
save 900 1 #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内容如超过10个key被修改,则发起快照保存
save 60 10000
由于快照方式是在一定间隔时间做一次的,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改。如果应用要求不能丢失任何修改的话,可以采用aof持久化方式。
2.Append-only file(缩写aof)持久化
aof 比快照方式有更好的持久化性,是由于在使用aof持久化方式时,redis会将每一个收到的写命令都通过write函数追加到文件中(默认是appendonly.aof)。当redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容。当然由于os会在内核中缓存write做的修改,所以可能不是立即写到磁盘上。这样aof方式的持久化也还是有可能会丢失部分修改。不过我们可以通过配置文件告诉redis我们想要 通过fsync函数强制os写入到磁盘的时机。有三种方式如下(默认是:每秒fsync一次)
appendonly yes //启用aof持久化方式
# appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,#不推荐使用
appendfsync everysec //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
#appendfsync no //完全依赖os,性能最好,持久化没保证
8、java 配置 redis
配置好后 通过redisTemplate 去操作什么Redis
参考: