Redis系列(二)—— 数据结构

Redis官方说明

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. —— redis.io

Redis数据结构

字符串(strings):存储整数(比如计数器)和字符串(废话。。),有些公司也用来存储json/pb等序列化数据,并不推荐,浪费内存。

哈希表(hashes):存储配置,对象(比如用户、商品),优点是可以存取部分key,对于经常变化的或者部分key要求atom操作的适合。

列表(lists):可以用来存最新用户动态,时间轴,优点是有序,确定是元素可重复,不去重。

集合(sets):无序,唯一,对于要求严格唯一性的可以使用,可以用来去重。

有序集合(sorted sets):集合的有序版,很好用,排名之类的复杂场景可以考虑。

位图(bitmaps):这个不是新增的数据类型,只是可以把字符串类型按照单个位的形式进行操作。可以用来统计活跃用户,实现用户签到功能,性能颇高。不过统计活跃用户建议是增量读取日志或者引入消息中间件异步刷到redis,非业务必须功能最好不要影响线上业务,特别是登录这种门户业务更是重中之重。

计数器(hyperloglogs,翻译待定):如名字,添加元素只记录元素个数,并不会存储元素本身,节省空间并且避免重复count,这个感觉直接用incr就可以实现。

地理空间(geospatial indexes):用来做地理位置查询,比如两点之间的距离,一个点附近有多少元素,适合点比较固定的场景,或者只考虑当前位置的场景,像附近的人这种就不适合,一是需要考虑某段时间内的点,二是点经常更新,压力比较大。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Redis杂谈 Redis是近年来发展迅速的内存数据库,网上也已经有多Redis的文章。但不管是英文还是中文,多数...
    迷失于重逢阅读 1,610评论 0 14
  • redisredis理论Redis:安装和配置redis安装配置和使用redisRedis Cluster程序环境...
    属于你的世界阅读 199评论 0 1
  • redis是一个以key-value存储的非关系型数据库。有五种数据类型,string、hashes、list、s...
    林ze宏阅读 1,026评论 0 0
  • Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redi...
    陈小陌丿阅读 14,042评论 0 2
  • 薄雾笼重楼,烟水荡兰舟。温酒怎添愁,月华不解虞殇忧。
    鹿岛23333阅读 191评论 0 0