redis数据类型
来源:互联网 发布:linux fstable 编辑:程序博客网 时间:2024/06/05 16:03
字符串类型:String
set key value 设定key持有指定的字符串value,如果该key存在则进行覆盖操作 总是返回OK
get key get命令只能获取String的value值,如果该key不存在,返回nil 获取指定key的value,如果与该key关联的value不是String类型,redis将返回错误信息
getset key value 先获得该key的值,然后再给key赋予新的value
del key 删除指定的key
incr key 将指定的key的value原子性的递增1 如果该key不存在,其初始值为0,在incr之后其值为1 如果value的值不能转换为整型,如hello,该操作将执行失败并返回相应的错误信息
decr key 将指定的key的value原子性的递减1 如果该key不存在,其初始值为0,在decr之后其值为-1 如果value的值不能转换成整型,如hello,该操作将执行失败并返回相应的错误信息
incrby key increment 将指定的key的value原子性的增加increment 如果该key不存在,其初始值为0,在incrby之后其值为0 如果该值不能转换成整型,如hello则操作失败并返回相应的错误信息
decrby key decrement 将指定的key的value原子性的减少decrement 如果该key不存在,其初始值为0,在decrby之后其值为0 如果该值不能转换成整型,如hello则操作失败并返回相应的错误信息
append key value 拼凑字符串 如果key存在,则在原有的value后追加该值 如果该key不存在,则重新创建一个key/value
散列类型:hash
hset key field value 为指定的key设定field-value(键值对)
hmset key field value {field2,value2...} 设置key中的多个field-value(键值对)
hget key field 返回指定的key中的field的值
hget key fields 获取key中的多个field的值
hgetall key 获取key中的所有field-value
hdel key field [field ...] 删除一个或多个字段,返回值是被删除的字段个数
del key 删除整个list
hincrby key field increment 设置key中field的值增加increment,如:age增加5
hexists key field 判断指定的key中的field是否存在
hlen key 获取key所包含的field的数量
hkeys key 获得所有的key
hvals key 获得所有的value
列表类型:list
lpush key values [values1 values2 ...] 在指定的key所关联的list的头部插入所有的values 如果该key不存在,该命令在插入的之前创建一个与该key关联的空链表,之后再向链表的头部插入数据,插入成功,返回元素的个数
rpush key values [values1 values2 ...] 在该list的尾部添加元素
lrange key start end 获取链表中从start到end的元素的值,start,end从0开始计数,也可为负数,若为-1则表示链接尾部的元素,-2则表示倒数第二个,以此类推...lrange key 0 -1 获取链表中所有的元素的值
lpop key 返回并弹出指定的key关联的链接中的第一个元素,即头部元素 如果该key不存在,返回nil
rpop key 从尾部弹出元素
llen key 返回指定的key关联的链表中的元素的数量
lpushx key value 仅当参数中指定的key存在时,向关联的list的头部插入value 如果不存在,将不进行插入
rpushx key value 在该list的尾部添加元素
lrem key count value 删除count个值为value的元素 如果count大于0,从头向尾遍历并删除count个值为value的元素 如果count小于0,则从尾部遍历并删除 如果count等于0,则删除链表中所有等于value的元素
lset key index value 设置链表中的index的角标的元素值 0代表链表的头元素,-1代表链表的尾元素 操作链表的角标不存在则抛异常
linsert key before|after pivot value 在pivot元素前或者后插入value这个元素
rpoplpush resource destination 将链表中的尾部元素弹出并添加到头部[循环操作]
集合类型:set
sadd key values[values1 value2 ...] 向set中添加数据,如果该key的值已有则不会重复添加
srem key members [member1 member2 ...] 删除set中指定的成员
smembers key 获取set中所有的成员
sismember key member 判断参数中指定的成员是否在该set中 1表示存在,0表示不存在或者该key本身就不存在
sdiff key1 key2 ... 返回key1与key2中相差的成员,而且与key的顺序有关[返回差集]
sinter key1 key2 key3 ... 返回交集sunion key1 key2 key3 ... 返回并集
scard key 获取set中成员的数量
srandmember key 随机返回set中的一个成员
sdiffstore destination key1 key2 ... 将key1、key2相差的成员存储在destination上
sinterstore destination key[key ...] 将返回的交集存储在destination上
sunionstore destination key[key ...] 将返回的并集存储在destination上
有序集合类型:sorted set
zadd key score member score2 member2 ... 将所有成员以及该成员的分数存放到sorted-set中 如果该元素已经存在则会用新的分数替换原来的分数,返回值是新加入到集合中的元素个数,不包含之前已经存在的元素
zscore key member 返回指定成员的分数
zcard key 获取集合中的成员数量
zrem key member[member ...] 移除集合中指定的成员,可以指定多个成员
zrange key start end [withscores] 获取集合中角标为start-end的成员,[withscores]参数表明返回的成员包含其分数
zreverange key start stop [withscores] 按照元素分数从大到小的顺序返回索引从start到stop之间的所有元素(包含两端的元素)
zremrangebyrank key start stop 按照排名范围删除元素
zremrangebyscore key min max 按照分数范围删除元素
zrangebyscore key min max [withscores] [limit offset count] 返回分数在[min,max]的成员并按照分数从低到高排序 [withscores]:显示分数 [limit offset count]:表明从角标为 offset 的索引开始并返回 count 个成员
zincrby key incerment member 设置指定成员的增加的分数.返回值是更改后的分数
zcount key min max 获取分数在 [min,max] 之间的成员
zrank key member 返回成员在集合中的排名.(从小到大)
zrevrank key member 返回成员在集合中的排名(从大到小)
key的通用操作
keys pattern 获取所有的与pattern匹配的key,返回所有与该key匹配的keys *表示任意一个或多个字符; ?表示任意一个字符.
del key1 key2 ... 删除指定的key
exists key 判断该key是否存在.1代表存在,0代表不存在
rename key newkey 为当前的key重命名
expire key second 设置过期时间,单位:秒
ttl key 获取与该key所剩的超时时间 如果没有设置超时,返回-1.如果返回-2表示超时(key)不存在
type key 获取指定key的类型.该命令将以字符串的格式返回. 返回的字符串为: string list set hash和zset ,如果key不存在返回none
注意:
1.key不要太长,最好不要超过1024字节,这不仅会消耗内存,还会降低查询效率
2.key不要太短,如果太短会降低key的可读性
3.在项目中,key最好有一个统一的命名规范
阅读全文
1 0
- redis 数据类型
- Redis数据类型
- Redis数据类型
- Redis 数据类型
- Redis数据类型
- redis数据类型
- Redis数据类型
- Redis数据类型
- Redis 数据类型
- Redis:数据类型
- redis数据类型
- Redis数据类型
- redis数据类型
- Redis数据类型
- Redis 数据类型
- Redis 数据类型
- redis数据类型
- redis 数据类型
- 浮动和绝对定位对布局的影响
- Resource路径通配符classpath和classpath*的区别
- 平安科技18群
- 用Scholar one 投稿过程
- XRecyclerView 的简单使用
- redis数据类型
- 程序员常用网址收藏
- VS c++ soap 获取WebServiece的错误记录 实质错误是errno的错误
- Android app、process和task的区别
- 装了双系统之后,进不去U盘启动项,进不去PE系统
- viewpage+fragment
- Angular订单操作
- 扫雷小游戏
- C语言程序: 约瑟夫环