redis数据类型
1.字符串 (String)
· 最基础的数据类型,可以存储任何类型的数据,比如文本、数字、二进制数据等。
· 支持操作如设置、获取、增加、减少等。
· 例子:SET key "value",GET key。
2.哈希 (Hash)
· 键值对集合,适合存储对象(例如用户信息)。
· 可以通过字段名快速查找数据。
· 例子:HSET user:1000 name "Alice",HGET user:1000 name。
3.列表 (List)
· 按插入顺序存储的字符串集合,支持添加和删除元素,支持双向操作(从两端插入和删除)。
· 常用于消息队列和任务调度。
· 例子:LPUSH mylist "item1",LRANGE mylist 0 -1。
4.集合 (Set)
· 不允许重复元素的字符串集合,支持集合运算(并集、交集)。
· 适用于需要去重的场景。
· 例子:SADD myset "value1",SMEMBERS myset。
5.有序集合 (Sorted Set)
· 每个元素都有一个分数,自动按分数排序,元素可以重复但分数不可以。
· 适合排行榜和需要排序的数据。
· 例子:ZADD scores 100 "Alice",ZRANGE scores 0 -1 WITHSCORES。
6.位图 (Bitmap)
布隆过滤器
· 操作二进制位,可以用来高效存储和处理二进制数据。
· 常用于用户活跃度统计等。
· 例子:SETBIT key offset value。
7.超日志 (HyperLogLog)
统计不重复数据,用于大数据基数统计。
· 用于基数估计,可以高效统计不重复元素的数量。
· 适合处理大数据量时的去重统计。
· 例子:PFADD myhyperloglog "value1",PFCOUNT myhyperloglog。
8.地理空间 (Geospatial)
GeoHash:坐标,借助Sorted Set实现,通过zset的score进行排序就可以得到坐标附近的其 它元素,通过将score还原成坐标值就可以得到元素的原始坐标。
· 存储和查询地理位置信息,支持计算距离和区域查询。
· 常用于地图应用和位置服务。
· 例子:GEOADD locations 13.361389 38.115556 "Palermo",GEORADIUS locations 15 37 200 km。
9.流 (Stream)
内存版的kafka
· 用于处理时间序列数据的日志结构,支持消息发布/订阅。
· 适合实时数据处理和事件流管理。