redis修改密码+设置键值+5种结构+8个底层数据结构+过期键的5种删除策略(360面试题)

一、设置redis的密码+设置redis缓存的变量键值缓存时间

redis修改密码+设置键值+5种结构+8个底层数据结构+过期键的5种删除策略(360面试题)_第1张图片


redis修改密码+设置键值+5种结构+8个底层数据结构+过期键的5种删除策略(360面试题)_第2张图片

二、Redis5种结构--String-list-set-hash-zset
1、String
可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作。
字符串命令:
    ①get、获取存储在指定键中的值
    ②set、设置存储在指定键中的值
    ③del、删除存储在指定键中的值(这个命令可以用于所有的类型)

2、list
一个链表,链表上的每个节点都包含了一个字符串,虫链表的两端推入或者弹出元素,根据偏移量对链表进行修剪(trim),读取单个或者多个元素,根据值查找或者移除元素。
列表命令:
    ①rpush、将给定值推入列表的右端
    ②lrange、获取列表在指定范围上的所有值
    ③lindex、获取列表在指定范围上的单个元素
    ④lpop、从列表的左端弹出一个值,并返回被弹出的值

3、set
包含字符串的无序收集器(unordered collection)、并且被包含的每个字符串都是独一无二的。添加,获取,移除单个元素,检查一个元素是否存在于集合中,计算交集,并集,差集,从集合里面随机获取元素。
 集合命令:
    ①sadd、将给定元素添加到集合
    ②smembers、返回集合包含的所有元素
    ③sismember、检查指定元素是否存在于集合中
    ④srem、检查指定元素是否存在于集合中,那么移除这个元素

4、hash
包含键值对无序散列表,添加,获取,移除当键值对,获取所有键值对。
散列命令:
    ①hset、在散列里面关联起指定的键值对
    ②hget、获取指定散列键的值
    ③hgetall、获取散列包含的所有键值对
    ④hdel、如果给定键存在于散列里面,那么移除这个键

5、zset
字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定。添加,获取,删除单个元素,根据分值范围(range)或者成员来获取元素。
有序集合命令:
①zadd、将一个带有给定分值的成员添加到有序集合里面
②zrange、根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
③zrangebyscore、获取有序集合在给定分值范围内的所有元素
④zrem、如果指定成员存在于有序集合中,那么移除这个成员

redis修改密码+设置键值+5种结构+8个底层数据结构+过期键的5种删除策略(360面试题)_第3张图片

redis修改密码+设置键值+5种结构+8个底层数据结构+过期键的5种删除策略(360面试题)_第4张图片

详见:https://blog.csdn.net/caishenfans/article/details/44784131

Redis过期键的3种删除策略+各自优缺点比较
定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作;
惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,那就返回该键;
定期删除:每隔一段时间,程序就对数据库进行一次检查,删除里面的过期键。至于删除多少过期键,以及要检查多少个数据库,则由算法决定。
Redis服务器实际使用的是惰性删除和定期删除两种策略。
三种策略的优缺比较:
定时删除策略对内存是最友好的:通过使用定时器,定时删除策略可以保证过期键会尽可能快地被删除,并释放过期键所占用的内存;但另一方面,定时删除策略的缺点是,他对CPU是最不友好的:在过期键比较多的情况下,删除过期键这一行为可能会占用相当一部分CPU时间,在内存不紧张但是CPU时间非常紧张的情况下,将CPU时间用在删除和当前任务无关的过期键上,无疑会对服务器的响应时间和吞吐量造成影响;
惰性删除策略对CPU时间来说是最友好的:程序只会在取出键时才对键进行过期检查,这可以保证删除过期键的操作只会在非做不可的情况下进行;惰性删除策略的缺点是,它对内存是最不友好的:如果一个键已经过期,而这个键又仍然保留在数据库中,那么只要这个过期键不被删除,它所占用的内存就不会释放;
定时删除占用太多CPU时间,影响服务器的响应时间和吞吐量;惰性删除浪费太多内存,有内存泄漏的危险。定期删除策略是前两种策略的一种整合和折中:
定期删除策略每隔一段时间执行一次删除过期键操作,并通过限制删除操作执行的时长和频率来减少删除操作对CPU时间的影响;
通过定期删除过期键,定期删除策略有效地减少了因为过期键而带来的内存浪费;
定期删除策略的难点是确定删除操作执行的时长和频率。

你可能感兴趣的:(缓存)