• 世卫将“游戏障碍”列为新疾病 哪些症状可被确诊? 2019-05-07
  • 多部门三令五申禁网售彩票,世界杯竞猜APP上仍热卖 2019-05-07
  • 退牧还草 为藏羚羊迁徙让路 2019-05-05
  • 候选企业:苏宁控股集团有限公司 2019-05-05
  • 这是全国精气最为集中的地方 被称为中国丹田所在 ——凤凰网房产 2019-05-04
  • 状态差被郎平退货?丁霞归队仍是国内最好二传 2019-05-01
  • 天津市环境保护突出问题边督边改公开信息 2019-05-01
  • 董明珠代表:建立保护企业人才机制 遏制“恶意挖人”现象 2019-04-30
  • 7月1日起铁路将实施新列车运行图 北京再增12.5对复兴号 2019-04-24
  • 国际国内--山西频道--人民网 2019-04-23
  • 奥迪在华“三十已立” 坐拥天时,指向人和 2019-04-23
  • 中考期间 太原27个公共自行车服务点有人值守 2019-04-10
  • 有人被逼作弊,有人收获爱情,和高考有关的60个瞬间 2019-04-10
  • 深圳2018年将开行3趟援疆旅游扶贫专列 2019-04-05
  • 警惕套路贷 放贷是幌子 建议增设非法放贷罪 2019-03-25
  • 山东十一选五专家杀号 Chinaunix首页 | 论坛 | 山东十一选五专家杀号
    • 博客访问: 271347
    • 博文数量: 62
    • 博客积分: 0
    • 博客等级: 民兵
    • 技术积分: 748
    • 用 户 组: 普通用户
    • 注册时间: 2016-12-21 22:26
    个人简介

    90后空巢老码农

    文章分类

    全部博文(62)

    文章存档

    2019年(14)

    2018年(47)

    2017年(1)

    我的朋友

    分类: NOSQL

    2019-03-06 14:44:01

    之前写了些比较底层的东西,马上就要写redis当中是如何使用这些底层来实现数据结构的,突然之间想到,应该先简单介绍下各个数据结构的命令,之后再进行实现的分析,如果读者已经对redis命令很熟悉了,就不需要再继续往下看了,等下一篇出来直接看就行了~~~
    1. 字符串
    在redis里面字符串可以存储:1)字节串;2)整数;3)浮点数。其中整数的取值范围和系统的长整数的取值范围相同,而浮点数的取值范围和精度则与IEEE754标准的双精度浮点数相同。
    当用户将一个值存储到redis字符串里面的时候,如果这个值可以被解释为十进制整数或者浮点数,那么redis会察觉到这一点,并允许用户对这个字符串执行各种增减操作,如果键值不存在或者为空,则按0处理,若不能解释为数字,则返回错误。
    redis当中对字符串执行自增和自减操作的命令
    命令 用例和描述
    INCR INCR key-name——将key-name存储的值+1
    DECR DECR key-name——将key-name存储的值-1
    INCRBY INCRBY key-name amount——将key-name存储的值+amount
    DECRBY DECRBY key-name amount——将key-name存储的值-amount
    INCRBYFLOAT INCRBYFLOAT key-name amount——将key-name存储的值+浮点数amount
    除了自增操作和自减操作之外,redis还拥有对字符串的其中一部分内容进行读取或者写入的操作
    命令 用例和描述
    APPEND APPEND key-name value——将value追加到key-name存储的值的末尾
    GETRANGE GETRANGE key-name start end——获取key-name存储的值从start到end的子串,inclusive
    SETRANGE SETRANGE key-name offset value——将从start偏移量开始的子串设定为指定值
    GETBIT GETBIT key-name offset——将字符串看做是二进制位串,将其中偏移量为offset的二进制的值返回
    SETBIT SETBIT key-name offset value——将字符串看成是二进制位串,并将其中偏移量为offset的二进制的值设置为value
    BITCOUNT BITCOUNT key-name [start end]——统计二进制位串里面1的二进制的数量
    BITOP BITOP operation dest-key key-name [key-name ...]——对一个或多个二进制位串执行(AND,OR,XOR,NOT)在内的任意一种按位运算操作,并将结果保存在dest-key里面

    2. 列表
    常用命令
    命令 用例和描述
    RPUSH RPUSH key-name value [value ...]——将一个或多个值推入列表右端
    LPUSH LPUSH key-name value [value ...]——将一个或多个值推入列表左端
    RPOP RPOP key-name——移除并返回列表最右端的元素
    LPOP LPOP key-name——移除并返回列表最左端的元素
    LINDEX LINDEX key-name offset——返回列表中偏移量为offset的元素
    LRANGE LRANGE key-name start end——返回列表从start偏移量到end偏移量范围内的所有元素,inclusive
    LTRIM LTRIM key-name start end——对列表进行修剪,只保留从start到end之间的元素,inclusive
    阻塞式的列表弹出命令以及在列表之间移动元素的命令
    命令 用例和描述
    BLPOP BLPOP key-name [key-name ...] timeout——从第一个非空列表中弹出位于最左端的元素或者timeout秒之内阻塞并等待可弹出的元素出现
    BRPOP BRPOP key-name [key-name ...] timeout——从第一个非空列表中弹出位于最右端的元素或者timeout秒之内阻塞并等待可弹出的元素出现
    RPOPLPUSH RPOPLPUSH source-key dest-key——从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key的最左端,并想用户返回这个元素
    BRPOPLPUSH BRPOPLPUSH source-key dest-key timeout——从source-key列表中弹出位于最右端的元素,然后将这个元素推入dest-key的最左端,并想用户返回这个元素;如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现

    3. 集合
    基本命令
    命令 用例和描述
    SADD SADD key-name item [item ..]——将一个或多个元素添加到集合里面,并返回被添加元素当中原本不再集合当中的元素的个数
    SREM SREM key-name item [item ...]——从集合里面移除一个或多个元素,并返回被移除元素的数量
    SISMEMBER SISMEMBER key-name item——检查元素item是否存在于集合key-name当中
    SCARD SCARD key-name——返回集合包含的元素的数量
    SMEMBERS SMEMBERS key-name——返回集合包含的所有元素
    SRANDMEMBER SRANDMEMBER key-name [count]——从结合里面随机返回一个或多个元素
    SPOP SPOP key-name——随机地移除集合中的一个元素,并返回被移除的元素
    SMOVE SMOVE source-key dest-key item——如果source-key当中包含item,name从集合source-key当中移除item,并将其添加到dest-key当中;入股哦成功移除,返回1;否则,返回0.

    用于组合和处理多个集合的redis命令
    命令 用例和描述
    SDIFF SDIFF key-name [key-name ...]——返回那些存在于第一个集合、但不存在于其他集合中的元素
    SDIFFSTORE SDIFFSTORE dest-key key-name [key-name ...]——将那些存在于第一个集合但不存在于其他集合中的元素存储到dest-key
    SINTER SINTER key-name [key-name ...]——返回那些同时存在于所有集合中的元素
    SINTERSTORE SINTERSTORE dest-key key-name [key-name ...]——将那些同时存在于所有集合的元素存储到dest-key
    SUNION SUNION key-name [key-name ...]——返回那些至少存在于一个集合中的元素
    SUNIONSTORE SUNIONSTORE dest-key key-name [key-name ...]——将那些至少存在于一个集合中的元素存储到dest-key当中


    4. 散列
    用于添加和删除键值对的散列操作
    命令 用例和描述
    HMGET HMGET key-name key [key ...]——从散列里面获取一个或多个键的值
    HMSET HMSET key-name key value [key value ...]——为散列里面的一个或多个键设置值
    HDEL HDEL key-name key [key ...]——删除散列里面的一个或多个键值对,返回成功找到并删除的键值对的数量
    HLEN HLEN key-name——返回散列包含的键值对的数量
    散列高级特性
    命令 用例和描述
    HEXISTS HEXISTS key-name key——检查给定键是否存在于散列中
    HKEYS HKEYS key-name ——获取散列包含的所有键
    HVALS HVALS key-name——获取散列包含的所有值
    HGETALL HGETALL key-name——获取散列包含的所有键值对
    HINCRBY HINCRBY key-name key increment——将键key存储的值加上整数increment
    HINCRBYFLOAT HINCRBYFLOAT key-name key increment——将键key存储的值加上浮点数increment


    写到这里突然感觉全部写出来的话,一篇太长了,下回在分解~~~

    阅读(3749) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~
    评论热议
    请登录后评论。

    登录 注册

  • 世卫将“游戏障碍”列为新疾病 哪些症状可被确诊? 2019-05-07
  • 多部门三令五申禁网售彩票,世界杯竞猜APP上仍热卖 2019-05-07
  • 退牧还草 为藏羚羊迁徙让路 2019-05-05
  • 候选企业:苏宁控股集团有限公司 2019-05-05
  • 这是全国精气最为集中的地方 被称为中国丹田所在 ——凤凰网房产 2019-05-04
  • 状态差被郎平退货?丁霞归队仍是国内最好二传 2019-05-01
  • 天津市环境保护突出问题边督边改公开信息 2019-05-01
  • 董明珠代表:建立保护企业人才机制 遏制“恶意挖人”现象 2019-04-30
  • 7月1日起铁路将实施新列车运行图 北京再增12.5对复兴号 2019-04-24
  • 国际国内--山西频道--人民网 2019-04-23
  • 奥迪在华“三十已立” 坐拥天时,指向人和 2019-04-23
  • 中考期间 太原27个公共自行车服务点有人值守 2019-04-10
  • 有人被逼作弊,有人收获爱情,和高考有关的60个瞬间 2019-04-10
  • 深圳2018年将开行3趟援疆旅游扶贫专列 2019-04-05
  • 警惕套路贷 放贷是幌子 建议增设非法放贷罪 2019-03-25
  • p3试机号专家预测 高频彩票害的家破人亡 2019期南国彩票论坛 最齐全的彩票软件 北京pk拾冠亚和计划 足彩半全场水位分析 云南时时彩奖项规则 山东群英会20选5走势图 竟彩足球比分360 足彩4场进球玩法 大乐透杀号定胆 北京赛车开奖记录 时时彩平台骗局 足球14场胜负彩预测360 新疆时时彩开奖结果69 七星彩特区