redis学习基础

目录

1、redis命令

1-1、Connection(连接)

1-2、Keys(键)

1-3、HyperLogLog(超日志)  【起始版本:2.8.9】

1-4、Pub / Sub(发布/订阅)

1-5、server(服务端操作)

1-6、Transactions(事务)     【起始版本:2.2.0】

1-7、Geo(地理空间)

1-8、数据类型 String、list、set、sorted set、hash

1-9、cluster(集群)


1、redis命令

Redis包括14个redis命令组,共两百多个redis命令;

命令组有Connection(连接服务端)、Keys(键)、HyperLogLog(超日志)、Pub/Sub(发布/订阅)、Server(服务端操作)、Transactions(事务)、Geo(地理空间)、Strings(字符串)、Lists(列表)、Hashes(键值对)、Sets(无序集合)、Sorted Sets(有序集合)、Cluster(集群)、Scripting(脚本)

1-1、Connection(连接)

Redis连接命令主要是用于连接 redis 服务

【涉及到6个命令】
AUTH PASSWORD       密码认证
ECHO message        打印字符串
PING                查看服务是否运行
SELECT index        切换到指定的数据库db0、db1...
Quit                关闭当前客户端与redis服务的连接; 
                   【注意】不会立即关闭连接,将会尽可能快的将未完成的客户端请求执行完,然后再关闭连接;
                    退出后,再次连接,将会默认到 db0
SWAPDB index index  交换同一Redis服务器上的两个DATABASE  【注意: 起始版本:4.0.0】
【举例】
127.0.0.1:6379> auth 123456                              //认证密码
(error) ERR Client sent AUTH, but no password is set
127.0.0.1:6379[5]> ping                                  //检测连接是否正常
PONG
127.0.0.1:6379[5]> ping hello
"hello"
127.0.0.1:6379[5]> echo helloword                        //打印 helloword
"helloword"
127.0.0.1:6379[5]> select 5                              //切换到 db5
OK
127.0.0.1:6379[5]> quit                                  //关闭连接
  
127.0.0.1:6379> swapdb 0 5                               //交换 db0 和 db5
(error) ERR unknown command 'swapdb'

1-2、Keys(键)

Redis 键命令用于管理 redis 的键

DEL key [key ...]        删除指定的一批keys,如果删除中的某些key不存在,则直接忽略;会产生阻塞;
UNLINK key [key ...]     删除指定的key(s),若key不存在则该key被跳过;非阻塞的;
                         
EXISTS key [key ...]     key是否存在, 存在返回1, 不存在返回0;
TYPE key                 key 所储存的值的类型, 可以返回string, list, set, zset 和 hash等不同的类型
MOVE key db              将当前数据库的 key 移动到给定的数据库 db 当中;
TOUCH key [key ...]      【起始版本:3.2.1】修改指定key(s) 最后访问时间;
WAIT numslaves timeout   【起始版本:3.0.0】  ####?????####
                         阻塞当前客户端,直到所有以前的写命令都成功的传输和指定的slaves确认;
OBJECT subcommand [arguments [arguments ...]]       【起始版本:2.2.3】
                         OBJECT 命令可以在内部调试(debugging)给出keys的内部对象;
SORT key [BY pattern] [LIMIT offset count] [GET pattern] [ASC|DESC] [ALPHA] destination
                         默认是按照数值类型排序;
MIGRATE host port key destination-db timeout [COPY] [REPLACE]      【起始版本:2.6.0】
                         将 key 原子性地从当前实例传送到目标实例的指定数据库上;
-----------------------------------------------------------------------------------
DUMP key                 【起始版本:2.6.0】返回key对应的序列化后的值;若key不存在,返回nil;
RESTORE key ttl serialized-value [REPLACE]
                         【起始版本:2.6.0】反序列化给定的序列化值
-----------------------------------------------------------------------------------
SCAN cursor [MATCH pattern] [COUNT count]    【起始版本:2.8.0】
                         遍历所有的 key , match是匹配规则, count是每次返回的条数;
RANDOMKEY                随机返回一个 key 
KEYS pattern             根据匹配规则,返回所有key;
-----------------------------------------------------------------------------------
PERSIST key              移除 key 的过期时间,key 将持久保持;
EXPIRE key seconds       设置key的过期时间/秒,超过时间后,将会自动删除该key;
EXPIREAT key timestamp   【起始版本:1.2.0】设置key的过期时间/unix时间戳,超过时间后,将会自动删除该key;
PEXPIRE key milliseconds 设置 key 的过期时间以毫秒计。
PEXPIREAT key milliseconds-timestamp
                         设置 key 过期时间的时间戳(unix timestamp) 以毫秒计

PTTL key                 以毫秒为单位返回 key 的剩余的过期时间。
TTL key                  以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)
-----------------------------------------------------------------------------------
RENAME key newkey        修改 key 的名称
RENAMENX key newkey      仅当 newkey 不存在时,将 key 改名为 newkey 。
127.0.0.1:6379> scan 0 count 3
1) "6"
2) 1) "userids"
   2) "3"
   3) "userid"
127.0.0.1:6379> scan 0 match *t*
1) "0"
2) 1) "studentName"
127.0.0.1:6379> randomkey
"userids"
127.0.0.1:6379> renamenx 1 2
(integer) 0
127.0.0.1:6379> move studentName 5
(integer) 1
127.0.0.1:6379> keys *
1) "userids"
2) "2"
3) "userid"
4) "3"
127.0.0.1:6379> dump intlist
"\x0e\x01\x17\x17\x00\x00\x00\x14\x00\x00\x00\x06\x00\x00\xfc\x02\xf4\x02\xf6\x02\xf"
127.0.0.1:6379> restore mykey 0 "\x0e\x01\x17\x17\x00\x00\x00\x14\x00\x00\x00\x06\x00\x00\xfc\x02\xf4\x02\xf6\x02\xf3\x02\xf5\x02\xf2\xff\a\x00\xc8\xb8U\xf0\xfd\x7f\xaf\xd2"
OK
127.0.0.1:6379> migrate 190.111.111.121 6379 mykey 0 6000 auth 123456
(error) ERR syntax error

1-3、HyperLogLog(超日志)  【起始版本:2.8.9

这是一个用来做基数统计的算法;

什么是基数?比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8},基数为5。HyperLogLog 不能返回输入的各个元素,只会根据输入元素来计算基数;

【涉及到3个命令】
PFADD key element [element ...]                 添加指定元素到 key 中。
PFCOUNT key [key ...]                           返回给定 key 的基数估算值。
PFMERGE destkey sourcekey [sourcekey ...]       将多个key合并为一个,
                                                目标将会存储在第一个key中,
                                                如果第一个key不存在则默认回创建
【举例】
127.0.0.1:6379> pfadd userids 1 2 3 4 5 4 3 2 1        //创建userids
(integer) 1                                            
127.0.0.1:6379> pfcount userids                        //查看userids的基数 5
(integer) 5
127.0.0.1:6379> pfadd studentName zhangsan lisi lisi   //创建studentName
(integer) 1
127.0.0.1:6379> pfcount studentName                    //查看studentName的基数 2
(integer) 2
127.0.0.1:6379> pfcount studentName userids            //查看两个key的基数 7
(integer) 7
127.0.0.1:6379> pfmerge hh userids studentName         //合并两个key到hh中
OK
127.0.0.1:6379> pfcount hh                             //查看hh的基数 7
(integer) 7

1-4、Pub / Sub(发布/订阅)

发布订阅(pub/sub)是一种消息通信模式;

PUBSUB subcommand [argument [argument ...]]    【起始版本:2.8.0】检测PUB/SUB子系统的状态
        PUBSUB CHANNELS [pattern]                    检测出当前活跃的信道列表;
        PUBSUB NUMSUB [channel-1 ... channel-N]      列出指定信道的订阅者个数
        PUBSUB NUMPAT                                返回订阅模式的数量
-------------------------------------------------------------------------------
PUBLISH channel message                        【起始版本:2.0.0】将信息发送到指定的频道
-------------------------------------------------------------------------------
SUBSCRIBE channel [channel ...]         【起始版本:2.0.0】订阅频道
UNSUBSCRIBE [channel [channel ...]]     【起始版本:2.0.0】退订指定的频道,没有指定频道则退订所有频道

PSUBSCRIBE pattern [pattern ...]        【起始版本:2.0.0】根据模式订阅频道
PUNSUBSCRIBE [pattern [pattern ...]]    【起始版本:2.0.0】根据模式退订频道,没有提供则退出所有模式的频道
127.0.0.1:6379> pubsub channels                        //查看所有活跃的频道
1) "CCTV-2"
2) "CCTV-1"
127.0.0.1:6379> publish CCTV-1 "hello Mr.h 123456"     //发布消息到 CCTV-1
(integer) 3

127.0.0.1:6379> subscribe CCTV-1 CCTV-2
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "CCTV-1"
3) (integer) 1
1) "subscribe"
2) "CCTV-2"
3) (integer) 2
127.0.0.1:6379> psubscribe CCTV*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "CCTV*"
3) (integer) 1

1-5、server(服务端操作)

--------查看redis命令---【起始版本:2.8.13】-------------------------------------
COMMAND                                         返回所有Redis命令;
COMMAND COUNT                                   返回Redis命令的总数
COMMAND GETKEYS                                 从完整的Redis命令中找到key
COMMAND INFO command-name [command-name ...]    返回多个Redis命令的详细信息

--------处理客户端-------------------------------------------------------------
CLIENT SETNAME connection-name                  【起始版本:2.6.9】设置当前连接的名称
CLIENT GETNAME                                  【起始版本:2.6.9】获取连接的名称
CLIENT ID                                       【起始版本:5.0.0】返回当前连接的ID
CLIENT PAUSE timeout                            【起始版本:2.9.50】阻塞所有客户端一段时间(以毫秒计)
CLIENT UNBLOCK client-id [TIMEOUT|ERROR]        【起始版本:5.0.0】可以解除其他连接客户端的阻塞
CLIENT LIST                                     【起始版本:2.4.0】获取连接到服务器的客户端连接列表
CLIENT KILL [ip:port] [ID client-id]            【起始版本:2.4.0】关闭客户端连接
CLIENT REPLY ON|OFF|SKIP                        【起始版本:3.2】设置服务器是否对客户端的命令进行回复

--------处理配置文件-------------------------------------------------------------
CONFIG SET parameter value                      【起始版本:2.0.0】重写某些配置而不用重启Redis
CONFIG GET parameter                            【起始版本:2.0.0】
                                                读取redis服务器的配置文件参数,但并不是所有参数都支持
CONFIG REWRITE                                  【起始版本:2.8.0】重写服务器的redis.conf文件
CONFIG RESETSTAT                                【起始版本:2.0.0】重置INFO命令统计里面的一些计算器

--------处理内存-【起始版本:4.0.0】----------------------------------------------
MEMORY DOCTOR                                  列出 Redis 服务器遇到的内存相关问题,并提供相应的解决建议
MEMORY HELP                                    返回不同子命令的说明
MEMORY MALLOC-STATS                            提供内存分配情况的内部统计报表
MEMORY PURGE                                   尝试清除脏页
MEMORY STATS                                   将服务器的内存使用情况
MEMORY USAGE key [SAMPLES count]               返回一个key和它值在RAM中占用的字节数

--------查库、清库、持久化保存---------------------------------------------------
DBSIZE                                          返回当前数据库里keys的数量
FLUSHALL                                        删除所有数据库里面的所有数据
FLUSHDB                                         删除当前数据库里面的所有数据
SAVE                                            以RDB文件的方式保存所有数据的快照
                                                同步会阻塞所有的客户端的请求
BGSAVE                                          后台保存DB,不会阻塞其他命令
LASTSAVE                                        查看BGSAVE命令执行的结果,返回UNIX时间戳

--------慢日志查询---【起始版本:2.2.12】------------------------------------------
SLOWLOG subcommand [argument]                   从慢日志查询系统中,查询执行慢的命令和信息
    SLOWLOG GET
    SLOWLOG RESET
    SLOWLOG LEN

--------主从服务器--------------------------------------------------------------
SYNC                                            用于同步主从服务器;
ROLE                                            【起始版本:2.8.12】
                                                返回主从实例所属的角色,有master, slave, sentinel
SLAVEOF host port                               将当前服务器转变为指定服务器的从属服务器
REPLICAOF host port                            【起始版本:5.0.0】将当前服务器转变为某一服务器的副本服务器
REPLICAOF NO ONE                               【起始版本:5.0.0】将当前服务器从副本服务器转变回主服务器
--------其它-------------------------------------------------------------------
BGREWRITEAOF                                    手动触发AOF重写操作;
TIME                                            【起始版本:2.6.0】
                                                返回当前Unix时间戳(秒)和这一秒已经过去的微秒数
MONITOR                                         实时打印出 Redis 服务器接收到的命令

SHUTDOWN [NOSAVE] [SAVE]                        关闭redis服务
    执行顺序如下:    
        停止所有客户端;
        如果配置了save 策略 则执行一个阻塞的save命令;
        如果开启了AOF(AppendOnly File),则刷新aof文件;
        关闭redis服务进程(redis-server);

INFO [all | default]                            返回关于Redis服务器的各种信息和统计数值
    返回:  server: Redis服务器的一般信息
            clients: 客户端的连接部分
            memory: 内存消耗相关信息
            persistence: RDB和AOF相关信息
            stats: 一般统计
            replication: 主/从复制信息
            cpu: 统计CPU的消耗
            commandstats: Redis命令统计
            cluster: Redis集群信息
            keyspace: 数据库的相关统计


====?????????=======================================
DEBUG SEGFAULT     执行在崩溃的Redis一个无效的内存访问,它是用来模拟在开发过程中的错误。
DEBUG OBJECT       是一个不应该被客户端使用的调试命令
127.0.0.1:6379> COMMAND INFO get set
1) 1) "get"
   2) (integer) 2
   3) 1) readonly
      2) fast
   4) (integer) 1
   5) (integer) 1
   6) (integer) 1
2) 1) "set"
   2) (integer) -3
   3) 1) write
      2) denyoom
   4) (integer) 1
   5) (integer) 1
   6) (integer) 1
127.0.0.1:6379> COMMAND GETKEYS SORT mylist ALPHA STORE outlist
1) "mylist"
2) "outlist"

1-6、Transactions(事务)     【起始版本:2.2.0】

【涉及5条命令】 

MULTI                      标记一个事务块的开始;

EXEC                       执行事务中所有在排队等待的指令并将链接状态恢复到正常;

WATCH key [key ...]        监视key, 如果key在事务执行之前被改动,则事务会执行失败;

UNWATCH                    刷新一个事务中已被监视的所有key;
                           如果执行EXEC 或者DISCARD, 则不需要手动执行UNWATCH

DISCARD                    取消(中断)事务;
【举例】
127.0.0.1:6379[1]> multi
OK
127.0.0.1:6379[1]> lpush list 11
QUEUED
127.0.0.1:6379[1]> lpush list 22
QUEUED
127.0.0.1:6379[1]> lpush list 33
QUEUED
127.0.0.1:6379[1]> exec
1) (integer) 5
2) (integer) 6
3) (integer) 7

----discard 会取消事务------------------------------------------------------------
127.0.0.1:6379> multi
OK
127.0.0.1:6379> lpush list 11 12 13
QUEUED
127.0.0.1:6379> lpush list 21 22 23
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> lpush list 11
(integer) 1

1-7、Geo(地理空间)

GEOADD key longitude latitude member [longitude latitude member ...]
                            添加地理空间位置(纬度、经度、名称)

GEOPOS key member [member ...]            从key里返回所有给定位置元素的位置

GEODIST key member1 member2 [unit]        返回两个给定位置之间的距离
                                         【unit 单位: m(默认)、km、mi英里、ft英尺】

GEOHASH key member [member ...]    返回一个或多个位置的 Geohash 值

GEORADIUS key longitude latitude radius m|km|ft|mi  以给定的经纬度为中心,返回半径距离内的所有位置
    [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
    可选项命令会返回额外的信息:
        WITHCOORD: 返回相应的经度和维度;
        WITHDIST: 返回相应的距离; 
        WITHHASH: 返回位置元素经过原始 geohash 编码的有序集合分值;
        COUNT: 返回指定条数的数据;
        ASC|DESC: 排序
GEORADIUSBYMEMBER key member radius m|km|ft|mi  以给定的member为中心,返回半径距离内的所有位置
    [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
----添加地理位置--------------------------------------------------------
127.0.0.1:6379[1]> geoadd orginfo 116.372141 39.967345 BJshifan
(integer) 1
127.0.0.1:6379[1]> geoadd orginfo 116.364594 39.96725 BJyoudian
(integer) 1
----查询存储过的地理位置--------------------------------------------------------
127.0.0.1:6379[1]> geopos orginfo BJshifan
1) 1) "116.37214154005051"
   2) "39.967345098153395"
----查询两个位置之间的距离--------------------------------------------------------
127.0.0.1:6379[1]> geodist orginfo BJshifan BJyoudian km
"0.6435"
----查询半径距离之内的位置--------------------------------------------------------
127.0.0.1:6379[1]> georadius orginfo 116 39 1000 km withhash
1) 1) "poin"
   2) (integer) 4069047624061615
2) 1) "BJyoudian"
   2) (integer) 4069880607872677
3) 1) "BJshifan"
   2) (integer) 4069886335369931
127.0.0.1:6379[1]>
127.0.0.1:6379[1]> georadius orginfo 116 39 1000 km desc
1) "BJshifan"
2) "BJyoudian"
3) "poin"
127.0.0.1:6379[1]> georadiusbymember orginfo poin 100 km
1) "poin"

1-8、数据类型 String、list、set、sorted set、hash

【String】
---------存值-------------------------------------------------
SET key value [EX seconds] [PX milliseconds] [NX|XX]
    EX seconds – 设置键key的过期时间,单位时秒
    PX milliseconds – 设置键key的过期时间,单位时毫秒
    NX – 只有键key不存在的时候才会设置key的值
    XX – 只有键key存在的时候才会设置key的值
PSETEX key milliseconds value         【起始版本:2.6.0】设置值和过期时间/毫秒
SETEX key seconds value               【起始版本:2.0.0】设置值和过期时间/秒
SETNX key value                       如果key不存在,进行赋值
MSET key value [key value ...]        处理多个值
MSETNX key value [key value ...]      处理多个不存在的key值
SETRANGE key offset value             【起始版本:2.2.0】替换一截字符串,从offset+1开始,替换成value;

---------取值-------------------------------------------------
GET key                               返回一个key的值
MGET key [key ...]                    返回多个key的值
GETSET key value                      返回旧值,并重新赋值
GETRANGE key start end               【起始版本:2.4.0】截取字符串:0是左边第一位,-1是右边第一位;

---------append、length-------------------------------------------------
APPEND key value
STRLEN key                           【起始版本:2.2.0】返回string类型的长度,空格占1位

---------数值处理-------------------------------------------------
INCR key                              数值+1
INCRBY key increment                  数值 +increment
INCRBYFLOAT key increment            【起始版本:2.6.0】数值+浮点数
DECR key                              数值-1
DECRBY key decrement                  数值 -decrement        

---------????????-------------------------------------------------
GETBIT key offset
SETBIT key offset value
BITOP operation destkey key [key ...]
BITPOS key bit [start] [end]
BITCOUNT key [start end]
BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]
【list】
---------存值-------------------------------------------------
LPUSH key value [value ...]              插入到列表的头部
RPUSH key value [value ...]              插入到列表的尾部
RPUSHX key value                        【起始版本:2.2.0】ps:key存在且类型是list时才会执行
LPUSHX key value                        【起始版本:2.2.0】ps:key存在且类型是list时才会执行

LSET key index value                    覆盖下标是index的值
LINSERT key BEFORE|AFTER target value   【起始版本:2.2.0】在target的前后插入value,如果存在多个target则操作第一个

---------取值-------------------------------------------------
LRANGE key start stop                    获取list的值:0是左边第一位,-1是右边第一位
LINDEX key index                         获取下标是index对应的值
-----弹出式 取值-----
LPOP key                                 从头弹出一个
RPOP key                                 从尾弹出一个
RPOPLPUSH list1 list2                    将list1的右边一个元素,移动到list2的最左边
-----阻塞式弹出------
BLPOP key [key ...] timeout              从头弹出一个,仅阻塞timeout秒;
BLPOP key [key ...] timeout              从尾弹出一个,仅阻塞timeout秒;
BRPOPLPUSH list1 list2 timeout           将list1的右边一个元素,移动到list2的最左边

LTRIM key start stop                     修剪截取list, 保留start到stop;

---------length、移除元素-------------------------------------------------
LLEN key                                 获取list的长度
LREM key count value                     移除count个value, count>0从左删、count<0从右删、count=0全部删
【set】 无序 不可重复
---------存值-------------------------------------------------
SADD key member [member ...]         插入值


---------取值-------------------------------------------------
SMEMBERS key                         返回key中的所有值
SRANDMEMBER key [count]              随机取出count个值,负数时默认取绝对值

SUNION key [key ...]                  取并集
SUNIONSTORE destination key [key ...] 取并集,将并集保存到destination里;

SINTER key [key ...]                  取交集
SINTERSTORE destination key [key ...] 取交集,将交集保存到destination里;

SDIFF key [key ...]                  取差值,从第一个key中移除后面key包含的所有元素
SDIFFSTORE destination key [key ...] 取差值,将差值存到destination里;
-------弹出式 取值------
SPOP key [count]                     随机弹出1个或count个

---------length、是否存在、移动元素、移除元素---------------------------------
SCARD key                            获取长度(基数)
SISMEMBER key member                 判断member在key中是否存在,是1  否0
SMOVE list1 list2 member             将list1中的member,移动到list2
SREM key member [member ...]         从key中移除元素
【sorted set】 有序 不可重复
【PS: 注意两个特殊字符,-inf最小   +inf最大】
---------存值-------------------------------------------------
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]        添加数据
    XX: 更新存在的成员
    NX: 不会更新已有成员,只添加新成员。
    CH: 返回发生变化的成员总数
    INCR: 对成员的分数进行递增操作。

ZINCRBY key increment member            成员member的score值加上增量increment

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [SUM|MIN|MAX]
                                        取多个key的交集存到destination中
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [SUM|MIN|MAX]
                                        取多个key的并集存到destination中
    numkeys:numkeys是key的个数;
    WEIGHTS:计算score的方法,为每个给定的有序集指定一个乘法因子,默认是1
    SUM|MIN|MAX:计算score的方法,默认sum求和
  -------弹出式 取值-----
ZPOPMIN key [count]                     【起始版本:5.0.0】弹出最小的元素
ZPOPMAX key [count]                     【起始版本:5.0.0】弹出最大的元素
  -------阻塞式 弹出-----
BZPOPMIN key [key ...] timeout          【起始版本:5.0.0】返回第一个非空key中分数最小的成员和对应的分数
BZPOPMAX key [key ...] timeout          【起始版本:5.0.0】返回第一个非空key中分数最大的成员和对应的分数

---------取值-------------------------------------------------
ZRANGE key start stop [WITHSCORES]       取值,score升序   [WITHSCORES]同时返回对应的score
ZREVRANGE key start stop [WITHSCORES]    取值,score降序

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]    按score顺序,显示对应的数据
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] 按score倒序,显示对应的数据

ZRANGEBYLEX key min max [LIMIT offset count]                   按成员字典正序排序,显示限制内的数据
ZREVRANGEBYLEX key max min [LIMIT offset count]                按成员字典倒序排序,显示限制内的数据
    注意6个特殊符号:(、) 大于小于;   [、] 大于等于 小于等于; -、+ 无限小 无限大

---------length、获取下标、移除元素---------------------------------
ZCARD key                               获取元素长度
ZCOUNT key min max                      获取score区间内的元素长度
ZLEXCOUNT key min max                   获取字典区间内的元素长度

ZRANK key member                        获取member的下标,score升序
ZREVRANK key member                     获取member的下标,score降序
ZSCORE key member                       获取member的score

ZREM key member [member ...]            移除元素
ZREMRANGEBYLEX key min max              根据字典顺序,删除区间的数据;
ZREMRANGEBYSCORE key min max            根据score顺序,删除区间的数据;
ZREMRANGEBYRANK key start stop          根据下标的区间,删除区间的数据;
【hash】  起始版本:2.0.0
---------存值-------------------------------------------------
HSET key field value            存值,覆盖式
HSETNX key field value          存值,不覆盖

HMSET key field value [field value ...]        批量存值,覆盖式

 ------操作数值------
HINCRBY key field increment                    increment可以是正整数和负整数
HINCRBYFLOAT key field increment              【起始版本:2.6.0】increment可以是正小数和负小数


---------取值-------------------------------------------------
HGET key field                  取值,取一个值
HMGET key field [field ...]     批量取值
HGETALL key                     取值,取所有值

HKEYS key                       取所有的键
HVALS key                       取所有的值


---------移除元素、长度、是否存在---------------------------------
HDEL key field [field ...]      移除元素

HLEN key                        返回字段的数量
HSTRLEN key field               返回某一个值的长度

HEXISTS key field               键是否存在

1-9、cluster(集群)

【起始版本:3.0.0】

CLUSTER INFO                返回Redis集群的重要参数
    返回:
    cluster_state:ok    ok状态表示集群可以正常接受查询请求;
    cluster_slots_assigned:16384    集群节点的哈希槽数量;
    cluster_slots_ok:16384    哈希槽状态不是FAIL 和 PFAIL 的数量;
    cluster_slots_pfail:0     哈希槽状态是 PFAIL的数量;
    cluster_slots_fail:0      哈希槽状态是FAIL的数量;
    cluster_known_nodes:6     集群中节点数量;
    cluster_size:3            至少包含一个哈希槽且能够提供服务的master节点数量;
    cluster_current_epoch:6   集群当前纪元变量的值,这个值在节点故障转移过程时有用,它是递增和唯一的;
    cluster_my_epoch:2        当前正在使用的节点的纪元配置值;
    cluster_stats_messages_sent:1483972       通过node-to-node二进制总线发送的消息数量;
    cluster_stats_messages_received:1483968   通过node-to-node二进制总线接收的消息数量;

CLUSTER FORGET node-id        删除指定节点,不允许已删除的节点再次被添加进来;
CLUSTER NODES                 当前连接节点所属集群的配置信息;
    返回:<id> <ip:port> <flags> <master> <ping-sent> <pong-recv> <config-epoch> <link-state> <slot> <slot> ... <slot>
    id: 节点ID,是一个40字节的随机字符串;
    ip:port: 客户端与节点通信使用的地址;
    flags: 标记位,可能的值有: myself, master, slave, fail?, fail, handshake, noaddr, noflags;
    master: 如果slave节点有已知的master,则这里列出master节点ID;
    ping-sent: 最近一次发送ping的unix时间戳;
    pong-recv: 最近一次收到pong的unix时间戳;
    config-epoch: 节点的epoch值,每当节点发生失败切换时,都会创建一个新的,独特的,递增的epoch。如果多个节点竞争同一个哈希槽时,epoch值更高的节点会抢夺到。
    link-state: node-to-node集群总线使用的链接的状态,可以是connected和disconnected;
    slot: 哈希槽值或者一个哈希槽范围;
CLUSTER SLAVES node-id        返回指定master节点的所有slave节点;






--------????-----------------------------------------------------------------
CLUSTER KEYSLOT key           返回一个整数,用于标识指定键所散列到的哈希槽;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值