redis如何处理已过期的元素
常见的过期策略
定时删除:给每个键值设置一个定时删除的事件,比如有一个key值今天5点过期,那么设置一个事件5点钟去执行,把它数据给删除掉(优点:可以及时利用内存及时清除无效数据
缺点:会浪费很多redis资源,因为当数据量很大的情况下,redis正在跑业务,而这边却在删除,redis本身是单线程,所以它会对redis性能造成很大的影响)
惰性删除:当用户去访问key值的时候,它才去验证key值有没有过期,如果过期就删除,没有过期就直接返回(优点:不会消耗太多redis的性能 缺点:它的问题没有用户去触发的话会一直占用内存)
定期删除:它是定期去删除的一些工作,以保障redis能够高效的运行同时去删掉无效的信息(如下图)
redis是采用惰性删除+定期删除的策略进行删除操作的
redis如何在海量数据中查询某个key
使用scan
redis如何查询附近的人
redis中如何操作位置信息的:使用redis3.2geo类型
底层实现结构:zset有序集合
redis版本大于3.2且查询的时候需要把自己排除去查询