Redis每种存储结构说 4 个命令吧

1.String

  • set key value 设置值
  • get key 取值
  • mset key value key value… 设置多个值
  • mget key key 获取多个值
  • incr key 将key中的值自增1
  • decre key 将key中的值自减1

2.List

  • lpush key value value… 从最左边设置值
  • rpush key value value… 从最右边设置值
  • lrange key start stop 查询key中指定区间的元素
  • lpop key 移出并返回key中最左边的元素
  • rpop key 移出并返回key中最右边的元素

3.Set

  • sadd key value value 添加元素
  • smembers key 返回集合key中的所有元素
  • srem key member 删除集合key中member元素
  • scard key 查询集合key中的元素数量

4.ZSet

  • zadd key score value (score value)… 添加元素
  • zcard key 查询集合key中元素数量
  • zcount key min max 返回有序集合key中score 在min和max之间的元素
  • zrange key start stop 返回有序集合key中索引在start和stop之间的元素

5.Hash

  • hset key field value 添加元素
  • hget key field 获取key集合中field键对应的值
  • hmset key field value (field value)… 添加元素并批量添加子键值对
  • hmget key field field 获取key集合中所有的子键值对

你们项目是怎么用Redis的

使用的是Springboot整合的redis,主要用来解决前后端分离后前后端会话问题,以及验证码、登录、缓存的问题

怎么防止Redis宕机数据丢失问题

通过对Redis持久化,把内存中的数据和命令,保存一份到磁盘中做备份,当Redis发生宕机,重启服务器的时候,会从磁盘重新加载备份的数据,从而解决数据丢失问题

Redis持久化是什么?有几种方式

将内存中的数据备份到磁盘的过程,就叫作持久化

Redis持久化主要有两种方式,RDB和AOF,可以通过修改redis.conf进行配置

RDB是记录数据快照,而AOF是记录写命令的

Redis有了AOF持久化为什么还要RDB?

AOF和RDB各有所长

  • RDB是记录数据快照,它的优点是只产生一个持久化文件,体积相对较小,启动恢复速度快,备份方便,它的缺点是没办法做到数据百分百不丢失,因为它是每隔一定时间保存一次
  • AOF是记录写命令,它的优点是格式清晰,容易理解,数据更安全,采用append模式即使持久化过程中宕机,也不影响已经保存的数据,它的缺点是文件体积较大,恢复速度慢

根据实际需要来选择,通常二者可以结合来使用

Redis内存不够了怎么办?

方式一:增加物理内存

方式二:使用淘汰策略,删掉一些老旧数据

方式三:集群