Redis

来源:互联网 发布:php 正则获取href 编辑:程序博客网 时间:2024/05/24 07:27

Redis 键命令用于管理 redis 的键。

  • 基本语法
    conmand key_name
> set key redisOK> get key"redis"> del key(integer) 1
  • 命令详解
    1、 DEL key:此命令删除一个指定键(如果存在)。
    2 、DUMP key: 此命令返回存储在指定键的值的序列化版本。
    3、 EXISTS key :此命令检查键是否存在。
    4、 EXPIRE key seconds :设置键在指定时间秒数之后到期/过期。
    5、 EXPIREAT key timestamp: 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。
    6 、PEXPIRE key milliseconds: 设置键的到期时间(以毫秒为单位)。
    7 、PEXPIREAT key milliseconds-timestamp: 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。
    8 、KEYS pattern: 查找与指定模式匹配的所有键。
    9 、MOVE key db: 将键移动到另一个数据库。
    10、PERSIST key: 删除指定键的过期时间,得永生。
    11、RANDOMKEY: 从Redis返回一个随机的键。
    12、RENAME key newkey: 更改键的名称。
    13、PTTL key: 获取键到期的剩余时间(以毫秒为单位)。
    14、RENAMENX key newkey: 如果新键不存在,重命名键。
    15、TYPE key:返回存储在键中的值的数据类型。
    还有一个比较特殊的 keys *:获取当前数据库的所有键

一:字符串类型string

最基本的命令:GET、SET
语法:GET key,SET key value value如果有空格需要双引号以示区分

整数递增:INCR
语法:INCR key 默认值为0,所以首先执行命令得到 1 ,不是整型提示错误

增加指定的整数:INCRBY
语法:INCRBY key increment

整数递减:DECR
语法:DECR key 默认值为0,所以首先执行命令得到 -1,不是整型提示错误

减少指定的整数:DECRBY
语法:DECRBY key increment

增加指定浮点数:INCRBYFLOAT
语法:INCRBYFLOAT key increment 与INCR命令类似,只不过可以递增一个双精度浮点数

向尾部追加值:APPEND
语法:APPEND key value redis客户端并不是输出追加后的字符串,而是输出字符串总长度

获取字符串长度:STRLEN
语法:STRLEN key 如果键不存在返回0,注意如果有中文时,一个中文长度是3,redis是使用UTF-8编码中文的

获取多个键值:MGET
语法:MGET key [key …] 例如:MGET key1 key2

设置多个键值:MSET
语法:MSET key value [key value …] 例如:MSET key1 1 key2 “hello redis”

二进制指定位置值:GETBIT
语法:GETBIT key offset 例如:GETBIT key1 2 ,key1为hello 返回 1,返回的值只有0或1,当key不存在或超出实际长度时为0

设置二进制位置值:SETBIT
语法:SETBIT key offset value ,返回该位置的旧值

二进制是1的个数:BITCOUNT
语法:BITCOUNT key [start end] ,start 、end为开始和结束字节

位运算:BITOP
语法:BITOP operation destkey key [key …] ,operation支持AND、OR、XOR、NOT

偏移:BITPOS
语法:BITPOS key bit [start] [end]

二:散列类型hash

设置单个:HSET
语法:HSET key field value,不存在时返回1,存在时返回0,没有更新和插入之分

设置多个:HMSET
语法:HMSET key field value [field value …]

读取单个:HGET
语法:HGET key field,不存在是返回nil

读取多个:HMGET
语法:HMGET key field [field …]

读取全部:HGETALL
语法:HGETALL key,返回时字段和字段值的列表

判断字段是否存在:HEXISTS
语法:HEXISTS key field,存在返回1 ,不存在返回0

字段不存在时赋值:HSETNX
语法:HSETNX key field value,与hset命令不同,hsetnx是键不存在时设置值

增加数字:HINCRBY
语法:HINCRBY key field increment ,返回增加后的数,不是整数时会提示错误

删除字段:HDEL
语法:HDEL key field [field …] ,返回被删除字段的个数

只获取字段名:HKEYS
语法:HKEYS key ,返回键的所有字段名

只获取字段值:HVALS
语法:HVALS key ,返回键的所有字段值

字段数量:HLEN
语法:HLEN key ,返回字段总数

三:列表类型(list)

添加左边元素:LPUSH
语法:LPUSH key value [value …] ,返回添加后的列表元素的总个数

添加右边元素:RPUSH
语法:RPUSH key value [value …] ,返回添加后的列表元素的总个数

移除左边第一个元素:LPOP
语法:LPOP key ,返回被移除的元素值

移除右边第一个元素:RPOP
语法:RPOP key ,返回被移除的元素值

列表元素个数:LLEN
语法:LLEN key, 不存在时返回0,redis是直接读取现成的值,并不是统计个数

获取列表片段:LRANGE
语法:LRANGE key start stop,如果start比stop靠后时返回空列表,0 -1 返回整个列表
正数时:start 开始索引值,stop结束索引值(索引从0开始)
负数时:例如 lrange num -2 -1,-2表示最右边第二个,-1表示最右边第一个,

删除指定值:LREM
语法:LREM key count value,返回被删除的个数
count>0,从左边开始删除前count个值为value的元素
count<0,从右边开始删除前|count|个值为value的元素
count=0,删除所有值为value的元素

索引元素值:LINDEX
语法:LINDEX key index ,返回索引的元素值,-1表示从最右边的第一位

设置元素值:LSET
语法:LSET key index value

保留列表片段:LTRIM
语法:LTRIM key start stop,start、top 参考lrange命令

一个列表转移另一个列表:RPOPLPUSH
语法:RPOPLPUSH source desctination ,从source列表转移到desctination列表,该命令分两步看,首先source列表RPOP右移除,再desctination列表LPUSH

四:集合类型(set)
添加元素:SADD
语法:SADD key member [member …] ,向一个集合添加一个或多个元素,因为集合的唯一性,所以添加相同值时会被忽略。返回成功添加元素的数量。

删除元素:SREM
语法:SREM key member [member …] 删除集合中一个或多个元素,返回成功删除的个数。

获取全部元素:SMEMBERS
语法:SMEMBERS key ,返回集合全部元素

值是否存在:SISMEMBER
语法:SISMEMBER key member ,如果存在返回1,不存在返回0

差运算:SDIFF
语法:SDIFF key [key …] ,例如:集合A和集合B,差集表示A-B,在A里有的元素B里没有,返回差集合;多个集合(A-B)-C

交运算:SINTER   
语法:SINTER key [key …],返回交集集合,每个集合都有的元素

并运算:SUNION      
语法:SUNION key [key …],返回并集集合,所有集合的元素

集合元素个数:SCARD
语法:SCARD key ,返回集合元素个数

集合运算后存储结果
语法:SDIFFSTROE destination key [key …] ,差运算并存储到destination新集合中
SINTERSTROE destination key [key …],交运算并存储到destination新集合中
SUNIONSTROE destination key [key …],并运算并存储到destination新集合中

随机获取元素:SRANDMEMGER
语法:SRANDMEMBER key [count],根据count不同有不同结果,count大于元素总数时返回全部元素
count>0 ,返回集合中count不重复的元素
count<0,返回集合中count的绝对值个元素,但元素可能会重复

弹出元素:SPOP
语法:SPOP key [count] ,因为集合是无序的,所以spop会随机弹出一个元素

五:有序集合类型

添加集合元素:ZADD
语法:ZADD key [NX|XX] [CH] [INCR] score member [score member …],不存在添加,存在更新。

获取元素分数:ZSCORE
语法:ZSCORE key member ,返回元素成员的score 分数

元素小到大:ZRANGE
语法:ZRANGE key start top [WITHSCORES] ,参考LRANGE ,加上withscores 返回带元素,即元素,分数当分数一样时,按元素排序

元素大到小:ZREVRANGE
语法:ZREVRANGE key start [WITHSCORES] ,与zrange区别在于zrevrange是从大到小排序

指定分数范围元素:ZRANGEBYSCORE
语法:ZRANGEBYSCORE key min max [WITHSCORE] [LIMIT offest count]
返回从小到大的在min和max之间的元素,( 符号表示不包含,例如:80-100,(80 100,
withscore返回带分数
limit offest count 向左偏移offest个元素,并获取前count个元素

指定分数范围元素:ZREVRANGESCORE
语法:ZREVRANGEBYSCORE key max min [WITHSCORE] [LIMIT offest count]
与zrangebyscore类似,只不过该命令是从大到小排序的。

增加分数:ZINCRBY
语法:ZINCRBY key increment member ,注意是增加分数,返回增加后的分数;如果成员不存在,则添加一个为0的成员。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 600807天业股份股吧 天丝面料 天丝和纯棉哪个好 丝雾眉第十天恢复图片 保险丝为什么三天两头的烧掉 天丝面膜怎么样 天丝麻是什么面料 天丝棉是什么面料 天丝床单 天丝被 丝情袜意天羽陈蓉 缠丝玛瑙天珠鉴定 天丝雪纺 天丝和蚕丝的区别 天丝是什么面料 什么是天丝 天丝是什么 什么是天丝面料 天丝面料的优缺点 天丝渔线 天丝毛衣 天丝好还是纯棉好 天丝面膜和蚕丝面膜的区别 天丝面料容易皱吗 天丝厂家 天丝是什么成分 天丝家纺 天丝羊毛 富安娜天丝夏凉被 天丝面料图片 仿天丝面料 天丝吊牌 蚕丝被 水漾瓷感菁颜天丝面膜 再生纤维素纤维是天丝吗 亚洲天中码字 在我生命中的每一天 我生命中的每一天 天之御中 天中穴 天中