redis面试题二

redis如何处理已过期的元素

常见的过期策略

定时删除:给每个键值设置一个定时删除的事件,比如有一个key值今天5点过期,那么设置一个事件5点钟去执行,把它数据给删除掉(优点:可以及时利用内存及时清除无效数据

缺点:会浪费很多redis资源,因为当数据量很大的情况下,redis正在跑业务,而这边却在删除,redis本身是单线程,所以它会对redis性能造成很大的影响

惰性删除:当用户去访问key值的时候,它才去验证key值有没有过期,如果过期就删除,没有过期就直接返回(优点:不会消耗太多redis的性能 缺点:它的问题没有用户去触发的话会一直占用内存)

定期删除:它是定期去删除的一些工作,以保障redis能够高效的运行同时去删掉无效的信息(如下图)

redis是采用惰性删除+定期删除的策略进行删除操作的

redis面试题二_第1张图片

redis如何在海量数据中查询某个key

使用scan

redis面试题二_第2张图片

redis如何查询附近的人

redis中如何操作位置信息的:使用redis3.2geo类型

底层实现结构:zset有序集合

redis面试题二_第3张图片

redis版本大于3.2且查询的时候需要把自己排除去查询

你可能感兴趣的:(redis,redis,面试,数据库)