• [Redis]Redis的数据类型


    存储String字符串,使用get,set命令,一个键最大存储512M

    存储Hash哈希,使用HMSET和HGETALL命令,参数:键,值

    例如:HMSET user:1 username taoshihan password taoshihan

    HGETALL user:1

    存储List列表,可以重复,使用命令lpush和lrange,lpush的参数:键,值1,值2…

    例如:lpush infos taoshihan nan

    lrange的参数:键,开始索引,结束索引

    例如:lrange infos  0  -1 (-1是全部)

    存储Set集合,不可以重复,使用命令sadd和smembers

    sadd的参数:键,值1,值2…

    例如:sadd users zhangsan li wangwu

    smembers的参数:键

    例如:smembers users

    存储Zset有序集合,不可以重复,使用命令zadd和zrangebyscore

    zadd的参数:键,分数 值1 分数2 值2…

    例如:zadd members 1 zhangsan 2 li 3 wangwu

    zrangebyscore的参数:键,开始索引,结束索引

    例如:zrangebyscore users 0 1

    知乎:redis的基本数据结构有哪些,都有什么应用?

    李波:

    简单说明如下

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

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

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

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

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

    位图(bitmaps):这个不是新增的数据类型,只是可以把字符串类型按照单个位的形式进行操作,没有实际使用过。2016-03-03更新,网上很多人用bitmaps来做活跃用户统计和用户签到功能,性能比去数据库load高很多。

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

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

  • 相关阅读:
    NPOI导出Excel时出现错误“Maximum column number is 255”
    如何快速访问MSDN某一个类或方法的帮助文档
    beyond compare 比较Xls文件时只显示有差异的列
    Java并发编程:Callable、Future和FutureTask
    JAVA多线程实现的三种方式
    ReentrantReadWriteLock类和ReentrantLock类的区别
    Java多线程之Lock的使用
    MySQL中select * for update锁表的问题
    锁表 for update
    spring事物配置,声明式事务管理和基于@Transactional注解的使用
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5420774.html
Copyright © 2020-2023  润新知