redis 学习笔记二
redis指令
String
基础知识
存储以下三种值: 字符串、整数、浮点数
有需要的情况下,redis将整数转化为浮点数
明确区分三种值
自增/自减指令
INCR KEY-NAME将键存储的值+1
DECR KEY-NAME将键存储的值-1
INCR KEY-NAME AMOUNT将键存储的值+AMOUNT
DECR KEY-NAME AMOUNT将键存储的值-AMOUNT
INCRBYFLOAT KEY-NAME AMOUNT将键存储的值+浮点数AMOUNT

redis处理二进制位和字串
APPEND KEYNAME VALUE将value值追加到键KEYNAME当前存储的值末尾
GETRANGE KEYNAME START END获取start到end范围内所有字符构成的子串,包含start和end
SETRANGE KEYNAME OFFSET VALUE将从start偏移量开始的子串设置为给定值
GETBIT KEYNAME OFFSET将字节串视为二进制位串,并返回串中偏移量为OFFSET值的二进制位的值
SETBIT KEYNAME OFFSET VALUE将字节串视为二进制位串,并将串中偏移量为OFFSET值的二进制位的值设为VALUE
BITCOUNT KEYNAME START END统计给定范围内二进制位串值为1的二进制位的个数
BITOP OPERATION DESTKEY KEYNAME [KEYNAME ...]对一个或多个二进制位串进行AND、OR、XOR、NOT等操作,并将计算出来的结果保存到DESTKEY键里面
使用null字节自动拓展至长度
超出部分视为空串

List
常用操作指令:
RPUSH KEYNAME VALUE [VALUE...]将一个或多个值推入列表右侧
LPUSH KEYNAME VALUE [VALUE...]将一个或多个值推入列表左侧
RPOP KEYNAME弹出并返回列表最右端的值
LPOP KEYNAME弹出并返回列表最左端的值
LINDEX KEYNAME OFFSET返回列表中偏移量为OFFSET的值
LRANGE KEYNAME START END返回start到end范围内所有元素,包含start和end
LTRIM KEYNAME START END只保留start到end范围内所有元素,包含start和end

阻塞式列表弹出与列表间移动指令
BLPOP KEYNAME [KEYNAME...] TIMEOUT从第一个非空列表中弹出最左端元素,或在TIMEOUT秒之内阻塞并等待可弹出的元素出现
BRPOP KEYNAME [KEYNAME...] TIMEOUT从第一个非空列表中弹出最右端元素,或在TIMEOUT秒之内阻塞并等待可弹出的元素出现
BPOPLPUSH SOURCEKEY DESTKEY将SOURCEKEY中最右端元素弹出,然后压入DESTKEY最左端,并向用户返回
BRPOPLPUSH SOURCEKEY DESTKEY TIMEOUT将SOURCEKEY中最右端元素弹出,然后压入DESTKEY最左端,并向用户返回这个元素;如果SOURCEKEY为空,则在TIMEOUT秒之内阻塞并等待可弹出的元素出现

Set
集合的基本指令:
SADD KEYNAME ITEM [ITEM...]将一个或多个元素添加入集合,并返回被添加元素中原本并不存在于集合的元素的数量
SREM KEYNAME ITEM [ITEM...]从集合中移除一个或多个元素,并返回被移除元素的数量
SISMEMBER KEYNAME ITEM检查item是否位于集合中
SCARD KEYNAME返回集合包含元素的数量
SMEMBERS KEYNAME返回集合包含的所有元素
SRANDMEMBER KEYNAME [COUNT]从集合中随机返回一个或多个元素 ,count > 0 时, 返回的元素不会重复, count < 0 时返回的元素可以重复
SPOP KEYNAME随机移除集合中的一个元素,并返回被移除的元素
SMOVE SOURCEKEY DESTKEY ITEM如果SOURCEKEY包含item,将其从SOURCEKEY中移除并添加到DESTKEY中;如果item被成功移除,则命令返回1,否则返回0

组合和处理多个集合的redis操作
SDIFF KEYNAME [KEYNAME...]返回差集
SDIFFSTORE DESTKEY KEYNAME [KEYNAME...]返回差集到DESTKEY
SINTER KEYNAME [KEYNAME...]返回交集
SINTERSTORE DESTKEY KEYNAME [KEYNAME...]返回交集到DESTKEY
SUNION KEYNAME [KEYNAME...]返回并集
SUNION DESTKEY KEYNAME [KEYNAME...]返回并集到DESTKEY

Hash
添加和删除键值对操作:
HMGET KEYNAME KEY [KEY...]从散列里面获取一个或多个键的值
HMSET KEYNAME KEY VALUE [KEY VALUE ...]为散列中一个或多个键设置值
HDEL KEYNAME KEY [KEY...]删除散列里面一个或多个键值对,并返回成功找到并删除的个数
HLEN KEYNAME返回散列包含键值对的数量

redis散列高级特性
HEXISTS KEYNAME KEY检查给定值是否在散列中
HKEYS KEYNAME获取散列中所有的键
HVALS KEYNAME获取散列中所有的值
HGETALL KEYNAME获取散列中所有的键值对
HINCRBY KEYNAME KEY INCREMENT将键key上存储的值加上increment
HINCRBYFLOAT KEYNAME KEY INCREMENT将键key上存储的值加上浮点数increment
Zset
常用指令:
ZADD KEYNAME SCORE MEMBER [KEY MEMBER]将给定分值的成员添加到集合中
ZREM KEYNAME MEMBER [MEMBER]将给定成员从有序集合中删除,并返回成功数量
ZCARD KEYNAME返回有序集合成员数量
ZINCRBY KEYNAME INCREMENT MEMBER将member成员的分值加上increment
ZCOUNT KEYNAME MIN MAX返回分值介于min和max指检的成员
ZRANK KEYNAME MEMBER返回member在有序集合中的排名
ZSCORE KEYNAME MEMBER返回成员member的分值
ZRANGE KEYNAME START STOP返回排名介于start到stop之间的成员,若添加WITHSCORES,则将分数一并返回

范围型数据操作指令
ZREVRANK KEYNAME MEMBER返回有序集合menber的排名,成员按分值由大到小
ZREVRANGE KEYNAME MEMBER [WITHSCORES]返回有序集合给定范围的成员,按分值从大到小排序
ZRANGEBYSCORE KEY MIN MAX [WITHSCORES] [LIMIT OFFSET COUNT]获取有序结合中分值介于min和max之间的所有成员,并按分值由大到小返回
ZREMRANGEBYRANK KEYNAME START STOP移除排名介于start和stop之间所有的成员
ZREMRANGEBYSCORE KEYNAEM MIN MAX移除分值位于min和max之间的所有成员
ZINTERSTORE DESTKEY KEYCOUNT KEY [KEY...] [WEIGHTS WEIGHT [WEIGHT...] [AGGREGATE SUM|MIN|MAX]]对给定有序集合进行交集操作
ZUNIONSTORE DESTKEY KEYCOUNT KEY [KEY...] [WEIGHTS WEIGHT [WEIGHT...] [AGGREGATE SUM|MIN|MAX]]对给定有序结合进行并集操作


redis 发布与订阅
SUBSCRIBE CHANNEL [CHANNEL...]订阅一个或多个频道
UNSUBSCRIBE [CHANNEL [CHANNEL...]]退订一个或多个频道,无参数全部退订
PUBLISH CHANNEL MESSAGE向给定频道发送信息
PSUBSCRIBE PATTERN[PATTERN...]订阅与给定模式向匹配的频道
PUNSYBSCRIBE [PATTERN[PATTERN...]]退订给定模式,若无参数全部退订
影响的主要两个因素:
1.和redis系统稳定性有关
2.和数据传输的可靠性有关
其他常用指令
SORT SOURCE-KEY [BY PATTERN] [LIMIT OFFSET COUNT] [GET PATTERN [GET PATTERN...]] [ASC|DESC] [ALPHA] [STORE DEST_KEY]根据给定的选项,对输入的列表,集合或者有序集合进行排序,然后返回或者存储排序的结果
对列表排序,对集合排序输出列表形式排序结果
redis事务(
WATCH MULTI EXEC UNWATCH DISCARD)
基本事务:让一个客户端在不被其他客户端打断的情况下执行多个指令
这种情况下,在Redis里面被MULTI和EXEC包含的所有命令会一个接一个执行,直到所有命令都执行完毕。(MULTI => redis内部队列 => EXEC)
注意:为了减少网络通信,事务一次性保存
流水线机制
键的过期时间
过期时间特性(expiration):
PERSIST KET-NAME: 移除键的过期时间
TTL KEY-NAME:查看给定键TTL时间
EXPIRE KEY-NAME SECONDS: 让给定键在指定秒数后过期
EXPIREAT KET-NAME TIMESTAMP:将给定键过期时间设置为给定的UNIX时间戳
PTTL KEY-NAME:查看给定键毫秒TTL
PEXPIRE KEY-NAME MILLISECONDS: 让给定键在指定毫秒后过期
PEXPIREAT KEY-NAME TIMESTAMP-MILLISECONDS:给定键过期时间设置为毫秒级UNIX时间
                    
                
                
            
        
浙公网安备 33010602011771号