
1、redis和hashmap在结构上有什么区别1、定位一个数据库一个数据结构2、单机和分布式3、支持的各种数据类型上面2、redis有哪些数据类型底层如何实现redis的所有基本数据类型都使用StringString---setuser:1 666Hash---hsetuser:2 name lijinlist---lpushuser:3 arpush lrange rrangelpushuser:3 a b c dSet----sadduser:4 asmembersuser:4sismemberuser:4 a 判断某元素是否存在ZSet--- -zadduser:5 90 lijin -zadduser:5 95 bobo -zadduser:5 100 msb-zcarduser:5(几个成员)-zscoreuser:5 lijin -90 获取分数-zrankuser:5 lijin -0 集合排名-zrangeuser:5 0 3 -zrerangeuser:5 0 3 反向排名Bitmaps ---setbitdemobit 0 0 ---getbitdemobit 1bitcountdemobit 0 1(8位 字节) -4GEO地图geoaddcitys 116.28 39.55 beijinggeoaddcitys 117.12 39.08 tianjingeoposcitys beijinggeodistcitys beijing tianjin 计算两地距离georadiuscitys longitude latitude radius m 距离中心点范围之内的3、Redis的持久化机制有哪些RDB和AOF有什么区别高可用 恢复比mysql快 RDB数据恢复速度快、适合大规模数据恢复、性能开销小 缺点数据可能丢失、不适合高频率数据变更 aof持久化的精度更高丢失精度的可能性更小。性能消耗大aof文件会比较大 rewrite机制4、redis的过期键删除策略有哪些setkey-ttl 66ex60 60秒后过期删除ttlkey-ttl 键的存活时间还有多少redis过期键删除策略 1、定时删除 2、惰性删除 3、定期删除搭建主从架构从节点数据过期由主节点进行删除5、Redis的内存淘汰策略有哪些默认没有内存大小限制 maxmemory 超过内存大小后 触发内存淘汰策略lru时间最久lfu最不经常使用6、Redis的底层数据结构有哪些7、Redis是单线程的吗为什么这么快8、redis的事务能保证原子性吗 不能multi开启事务 set k1 1 、set k2 2 、get k1 。exec弱事务、伪事务