redis基础数据类型有:string,hash,list,set,zset(有序集合);现总结以上数据类型的基础操作,redis命令不区分大小写:
1、string(字符串):
set key value:设置key值
get key:获取key值
getrange key start end:获取key中的子字符串
getset key value:设置新值并返回旧值
getbit key offset:对key的值,获取指定偏移量上的位
mget key1 [key2...]:获取多个key的值
setbit key offset value:对key的值,设置或清楚指定偏移量上的位
setex key seconds value:将value赋值给key,并且过期时间为seconds(单位:秒)
setnx key value:如果key不存在,则设置key值为value,如果key存在,则不做操作
setrange key offset value:用value覆盖位置offset及其后的值,超过value长度以后的值保持不变
strlen key:获取长度
mset key value [key1 value1...]:同时设置多个k-v
msetnx key value [key1 value1...]:相当于一次执行多个setnx key value;keyn存在的话则不操作,keyn不存在则设置valuen值
psetex key milliseconds value:同 setex,单位为毫秒
incr key:如果key存储的是整型数字,则将其加1,反之抛错
incrby key increment:如果key存储的是整型数字,则将其加increment,反之抛错
decr key:同 incr key相反
decrby key decrement:同incrby key increment相反
append key value:将key值后面追加value值,如果key不存在,则创建
2、hash(哈希):
hdel table field1 fields....:删除多个哈希表字段
hexists table field:判断表中是否有字段field
hget table field:获取表单field字段的值
hgetall table:获取哈希表中所有的字段和值
hincrby table field increment:如果表中的field存储的是整数值,则将其增大increment
hincrbyfloat table field increment:如果表中的field存储的是浮点值,则将其增大increment
hkeys table:获取哈希表中的字段
hlen table:获取哈希表大小
hmget table field1 field2....:获取表单中field1 field2...字段的值
hmset table field1 value1 field2 value2....:为哈希表设置多个键值
hset table field value:将表单的field字段设置为value
hsetnx table field value:如果表单不存在field字段,则生成field字段,并将其设置为value;反之不做操作
hvals table:获取表中的所有值
hscan key cursor [match pattern]
3、list(列表):
blpop key1 [key2 ..] timeout:阻塞类型的弹出命令,在timeout时间范围内,依次查看待操作的列表,找到第一个不为空的列表返回其第一个键值,返回的值第一个是键,第二个是值
brpop key1 [key2..] timeout:阻塞类型的弹出命令,在timeout时间范围内,依次查看待操作的列表,找到第一个不为空的列表返回其最后一个键值,返回的值第一个是键,第二个是值
127.0.0.1:6379> lpush hello hello1 hello2 hello3 (integer) 3 127.0.0.1:6379> lpush world world1 world2 world3 (integer) 3 127.0.0.1:6379> lrange hello 0 10 1) "hello3" 2) "hello2" 3) "hello1" 127.0.0.1:6379> brpop hello 0 1) "hello" 2) "hello1" 127.0.0.1:6379> brpop hello world 0 1) "hello" 2) "hello2"
brpoplpush source destination timeout:阻塞类型的操作,在timeout时间范围内,从source列表中弹出一个值,并将其插入到destination列表中,然后返回该值
lindex key index:返回列表中位置为index的值,下表从0开始计数
linsert key before|after value newValue:在key列表中,将newValue放到value值的前面或则后面
llen key:返回列表长度
lpop:删除并返回列表的第一个元素
lpush key value1 value2...:将一个或多个值查到列表头部
lpushx key value:如果key存在,则将value插到列表头部,反之不进行操作;4.0.0以后的版本可以有多个value值
lrange key from to:获取from到to范围内的数据
lrem key count value:删除值为value的元素,count的取值有:
count > 0
: Remove elements equal to element
moving from head to tail.count < 0
: Remove elements equal to element
moving from tail to head.count = 0
: Remove all elements equal to element
.
lset key index value:通过索引设置列表的值
ltrim key start to:只保留start到to区间内的元素
rpop key:移除并返回列表中的最后一个元素
rpoplpush source destination:移除并返回source列表中的最后一个元素,并将该值添加到destination列表中
rpush key value1 value2...:在列表中添加一个或则多个值
rpushx key value:key存在则进行rpush操作,反之不操作
4、set(集合):符合数学定义,集合中没有重复的元素
sadd key v1 v2 v3:向集合key中添加元素
scard key:返回元素个数
sdiff key1 [key2,key3...]:返回集合key1与其他集合不同的元素结果
sdiffstore destination key1 [key2,key3..]:返回集合key1与其他集合不同的元素结果,并将其存放到destination中
sinter key1 [key2,key3...]:返回所有集合的交集
sinterstore destination key1 [key2,key3...]:返回所有集合的交集,并将其存放到destination中
sismember key member:判断member是否是key的元素
smembers key:返回集合中的所有元素
smove source destination member:将member从source移动到destina
spop key:删除并返回一个随机元素
srandmember key [count]:返回集合中一个或则多个随机元素
srem key val1 [val2..]:删除集合中一个或则多个元素
sunion key1 [key2...]:将集合key1 key2...合并起来并返回合并结果
sunionstore destination key1 [key2..]:将集合key1 key2...合并起来并将结果存储到destination集合中
sscan key cursor [MATCH pattern] [COUNT n]:迭代集合中的元素,找到并返回n个满足pattern模式的元素,这篇文章介绍的挺好:https://www.jianshu.com/p/c78639d3f0ce
5、zset(有序集合):
zadd key score1 member1 [score2 member2...]:添加或更新元素,score是一个数字,score越小,元素越靠前
zcard key:获取集合的所有元素
zcount key min max:计算score在区间[min,max]之间的元素个数
zincrby key increment member:将元素member的分数加increment
zinterstore distination numkeys key1 [key2....]:计算多个集合的交集,并将结果存放到destination中
zlexcount key min max:计算集合中指定区间[min,max]中的元素个数
zrange key start stop [withscores]:返回集合中指定索引区间内的元素
zrangebyscore key min max [withscores] [limit]:返回集合中指定分数区间内的元素
zrevrank key member:返回有序集合中指定元素的排名
....
以上是五种基本数据类型的基本操作,下面的操作是这些键的基本操作:
del key:删除变量key
dump key: 序列化key,并返回序列化后的结果
exists key:检查key是否存在
expire key seconds:seconds秒后key失效
keys pattern:查找所有符合给定模式的key
move key db:将当前库的key移动到给定的数据库db中
persist key:移除key的过期时间,key将持久保持
pttl key:以毫秒为单位返回key的剩余过期时间
ttl key: 以秒为单位返回key的剩余过期时间
type key:返回类型
renmae key newkey:对key进行重命名
renameex key newkey: 如果key存在,则对其进行重命名
randomkey:从当前数据库中返回一个随机的key
以上是redis常用的基本操作,努力,加油。。。。。