Redis

Redis是什么?

1 基于内存运行,性能高效
2 支持分布式,理论上可以无限扩展
3 key-value存储系统
4 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

Redis有哪些应用场景?

缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统

Redis有什么优势?

Redis为什么这么快?

Redis主要消耗什么物理资源?

内存

Redis为什么把所有数据放到内存中?

为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以Redis具有快速和数据持久化的特性

Redis命令是原子性的吗?

Redis磁盘快照操作是原子的吗?

Redis怎么测试连通性?

Redis到底是单线程还是多线程?

Redis和Memcache有什么区别?

这是一个和Redis非常相似的数据库,但是它的数据类型没有Redis丰富。Memcache由LiveJournal的Brad Fitzpatrick开发,作为一套分布式的高速缓存系统,被许多网站使用以提升网站的访问速度,对于一些大型的、需要频繁访问数据库的网站访问速度的提升效果十分显著

Redis支持哪些数据类型?

String list hash set sorted set

Redis支持JSON数据类型吗?为什么?

支持

Redis模块系统有什么用?

Redis支持对象映射模型吗?

Redis默认支持多少个数据库?怎么修改?

默认支持16个数据库
通过修改Redis的配置文件/redis/redis.conf中的databases字段的值,设置完毕并重启Redis即可完成配置。

Redis SET命令可以代替SETNX吗?

Redis单个实例最多能存放多少个键?

官方给出,理论值是 2 的 32 次方个

Redis单个Set, List最多能存放多少个元素?

Redis最大key大小和String值最大存储多少?

 redis的key和string类型value限制均为512MB

Redis事务有什么用?

Redis事务相关的命令有哪几个?

multi,标记一个事务块的开始,返回 ok
exec,执行所有事务块内,事务块内所有命令执行的先后顺序的返回值,操作被,返回空值 nil
discard,取消事务,放弃执行事务块内的所有命令,返回 ok
watch,监视 key 在事务执行之前是否被其他指令改动,若已修改则事务内的指令取消执行,返回 ok
unwatch,取消 watch 命令对 key 的监视,返回 ok

Redis事务是原子性的吗?

Redis持久化有什么用?

在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉

Redis有哪几种持久化方式?

RDB(Redis DataBase)和AOF(Append Only File)
>RDB方式采用的思想是定时将内存中的数据进行快照,并写入dump.rdb文件当中,这个文件当中所存储的就是当前redis环境中的配置以及数据。每次当redis重启之后,redis会先读dump.rdb文件,将数据从硬盘写入到内存中
AOP模式做持久化,把所有的写操作命令记录到磁盘文件中保存,也就是说使用AOF会将客户端对于redis的操作(查询除外)以一个字符串的形式记录到磁盘的文件中去,而在启动redis的时候会去读取这一个文件,将命令执行

Redis持久化方式如何选择?

如何保证Redis中的数据都是热点数据?

Redis内存满了怎么办?

定时删除:为每个键设置一个定时器,一旦过期时间到了,则将键删除。这种策略对内存很友好,但是对 CPU 不友好,因为每个定时器都会占用一定的 CPU 资源。 惰性删除:不管键有没有过期都不主动删除,等到每次去获取键时再判断是否过期,如果过期就删除该键,否则返回键对应的值。这种策略对内存不够友好,可能会浪费很多内存。 定期扫描:系统每隔一段时间就定期扫描一次,发现过期的键就进行删除。这种策略相对来说是上面两种策略的折中方案,需要注意的是这个定期的频率要结合实际情况掌控好,使用这种方案有一个缺陷就是可能会出现已经过期的键也被返回。

Redis怎么配置最大内存容量?

Redis有哪些淘汰策略?

noenviction:Redis 的默认策略,不回收数据,当达到最大内存时,新增数据返回 error
volatile 是对已设置过期时间的数据集淘汰数据:
volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中,使用LRU算法淘汰最近最少使用的数据
volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中,越早过期的越优先被淘汰
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中,随机淘汰数据
allkeys 是从全部数据集淘汰数据
allkeys-lru:从数据集(server.db[i].dict)中,使用LRU算法淘汰最近最少使用的数据
allkeys-random:从数据集(server.db[i].dict)中,随机淘汰数据

Redis怎么配置淘汰策略?

配置文件 maxmemory-policy volatile-lru

Redis为什么新增了LFU淘汰策略?

Redis淘汰策略LRU和LFU的区别?

Redis过期键的删除策略有哪些?

Redis如何提高多核CPU利用率?

Redis如何实现大量数据插入?

Redis的回收进程如何工作的?

1 一个客户端运行了新的命令,添加了新的数据。 redis检查内存使用情况,如果大于maxmemory的限制,则根据设定好的策略进行回收。
2 一个新的命令被执行等等,所以我们不断地穿越内存限制的边界,通过不断达到边界然后不断回收回到 边界以下。
3 如果一个命令的结果导致大量内存被使用(例如很大的集合的交集保存到一个新的键),不用多久内存限 制就会被这个内存使用量超越。

Redis怎么尽量降低内存使用?

Redis为什么要避免使用合并操作?

Redis中的管道有什么用?

Redis有哪些高可用方案?

  1. Redis 主从复制;
  2. Redis Sentinel(哨兵);
  3. Redis Cluster(集群);
  4. Codis(第三方)
  5. twemproxy(第三方)

Redis集群的目的是什么?

Redis集群如何选择数据库?

Redis 集群目前无法做数据库选择,默认在 0 数据库

Redis集群怎么保证高可用?

Redis集群最少需要几个主节点?

Redis集群主从复制的原理是?

1 设置主节点的地址和端口
2 建立套接字连接
3 发送PING命令
4 权限验证
5 同步
6 命令传播

Redis集群是怎么做数据分片的?

Redis集群会不会出现写丢失?

Redis可以保证数据强一致性吗?

Redis支持的Java客户端有哪些?

Redisson是什么框架?

Redis和Redison有什么关系?

Jedis和Redissn对此有什么优缺点?

Redis为什么不提供Windows版本?

Redis怎么在Windows下使用?

Redis如何设置密码访问?

Redis如何分析慢查询操作?

什么是缓存预热?

新的缓存系统没有任何缓存数据,在缓存重建数据的过程中,系统性能和数据库负载都不太好,所以最好是在系统上线之前就把要缓存的热点数据加载到缓存中,这种缓存预加载手段就是预热。

什么是缓存热备?

缓存热备即当一台服务器不可用时能实时切换到备用缓存服务器,不影响缓存使用。集群模式下,每个主节点都会有一个或多个从几点来当备用,一旦主节点挂掉,从节点立即充当主节点使用。

什么是缓存雪崩?

Redis缓存层由于某种原因宕机后,所有的请求会涌向存储层,短时间内的高并发请求可能会导致存储层挂机,称之为“Redis雪崩”

如何解决缓存雪崩?

使用Redis集群
限流

什么是缓存穿透?

缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透

如何解决缓存穿透?

1 布隆过滤

什么是缓存击穿?

第一次访问
恶意访问不存在的key
Key过期

如何解决缓存击穿?

服务器启动时, 提前写入
规范key的命名, 通过中间件拦截
对某些高频访问的Key,设置合理的TTL或永不过期

什么是缓存抖动?

一般是由于缓存节点故障导致

如何解决缓存抖动?

什么是缓存无底洞?

memberche

如何解决缓存无底洞?

如何解决Reds和数据库双写一致性问题?

Redis有哪些危险命令?如何防范?

Redis如何可统计独立用户访问量?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值