Redis常见情景下的操作命令都在这里了,做个笔记便于以后查找。
一、基本操作命令
redis默认为 16个库 默认自动使用 0号库
1. 检测Redis服务运行是否正常
redis >ping #返回 PONG,表示redis服务运行正常
2.查看当前数据库中 key的数目:
dbsize
3. 切换库命令:
redis> select dbNum #例如:切换到5号数据库 则输入 select 5
4.删除当前库的数据:
flushdb。
5.redis自带的客户端退出当前redis连接 :
exit 或 quit
二、 Key操作命令
1. keys
作用:查找所有符合模式pattern的key pattern可以使用通配符
通配符用法:
*: keys * 查询所有的key。
?: 表示单个字符 boo? 可以匹配到 boot book
2.exists key[ key1 key2.....]
作用:判断key是否存在 若存在 返回1 其他情况返回0
exists 后边接多个key时候 返回检索到的key的数量
3. expire key seconds
作用: 设置key的生存时间为seconds
如 expire student 20 表示设置key为student的生存时间为20秒 超过20秒自动删除这个key
4.ttl key
作用: 以秒为单位 返回 key 的剩余生存时间
返回值: -1:key永不过期
-2: key 不存在
正整数: key 的剩余存在时间(秒)
5. type key
作用:查看key存储的数据类型
6. del key[key1 key2.....]
删除key, 返回删除成功的个数
三、 Redis数据操作命令
字符串类型是Redis中最基本的数据类型 它能存储包括二进制数据 序列化后的数据 以及JSON数据
1) set
set key value
get key
3)incr
将 key中储存的数字值加1 如果key不存在 则会将key对应的值初始化为0 再执行incr操作
(注 incr和decr只能对数字类型的数据进行操作)
incr key
4)decr
将 key中储存的数字值减1 如果key不存在 则会将key对应的值初始化为0 再执行decr操作
5)append
append key value
如果key存在 将 value追加到原来旧值的末尾
如果key不存在 则创建这个key并将key的值设置为value
5) strlen
strlen key
作用: 返回key存储的字符串值的长度 若key不存在 则返回0
6)getrange
getrange key start end
获取key中字符串值从start开始到end结束的子字符串,包括start和end 负数表示从字符串末尾开始 -1表示最后一个字符
7)setrange
setrange key offset value
用value覆盖key存储的值中从offset开始的子串 返回修改后的字符串长度
例:
>set word good-mroinng #先设置一个字符串 OK >get word “good-mroinng” >setrange word 6 orning (integer) 12 >get word "good-morning"
4)mset
mset key value[key1 value1 key2 value2.....]
同时设置一个或多个key和value
5)mget
mget key[key1 key2....]
获取一个或多个给定Key 的value key不存在时会返回(nil)
2.hash类型
redis has 是一个string类型的filed和value映射表 常用于存储对象
注:这部分中的key表示哈希表的表名, field表示哈希表的键, value表示哈希表中键field对应的值
1) hset
hset key filed value
将名字为key的哈希表中filed的值设置为value 若filed已存在 则覆盖掉filed的旧值
2) hget
hget key field
获取名字为key的哈希表中field对应的值 值不存在则返回(nil)
3) hmset
hmset key filed value[field1 value1 field2 value2...]
同时将多个filed和value设置到名字为key的哈希表中 若field存在 会覆盖掉旧值 若key不存在 则新建一个hash表执行hmset操作
4)hmget
hmget key field[field1 field2...]
获取哈希表中一个或多个field对应的值 若值不存在则返回(nil)
5) hgetall
hgetall key
返回名字为key的哈希表内所有的field和value
例:
> hgetall member #获取哈希表member的全部数据 1) "name" #第一个键 2)“xiaoming” #name对应的值 3) "class" #第二个键 4) "one" #class对应的值
6) hdel
hdel key field[field1 field2 field3.....]
删除哈希表key中的一个或多个field 若field不存在则跳过这个field继续执行
7) hkeys
hkeys key
获取哈希表key中的所有field
8) hvals
hvals key
获取哈希表key中的所有value
9) hexists
hexists key field
查看名字为key的哈希表中是否存在给定的field
3. 列表 list
Redis列表是简单的字符串列表,按照插入的顺序排序,可以在列表的头部或尾部插入新的元素
1) lpush
lpush key value[value1 value2...]
将一个或多个value插入到列表key的头部(左边) 从左边开始加入 返回生成的新列表长度
注意:由于是从左边插入 最先插入的数值在列表最右边 最后插入的值在列表最左边
2) rpush
rpush key value[value1 value2...]
将一个或多个value插入到列表key的尾部(右边) 从右边开始加入 返回生成的新列表长度
3) lrange
lrange key start stop
获取列表key 中指定区间[start, stop]内的元素,0表示列表的第一个元素,-1表示列表最后一个元素
4) lindex
lindex key index
获取列表key中下标为指定index的元素
5) llen
llen key
获取列表key的长度
6) lrem
lrem key count value
从列表key中移除列表中与value相等的元素, count为删除元素的个数,当count>0时,从左向右删除,当count<0时 从右向左删除
7) lset
lset key index value
将列表key中下标为index的元素的值设置为value
8) linsert
insert key BEFORE posval value insert key AFTER posval value
将值value插入到列表key中位于posval之前(BEFORE)或之后(AFTER)的位置
若key不存在 则跳过这一命令 继续执行后边的操作
4. Set 集合
Set是由String类型的元素构成的集合,集合中的成员不可重复
1) sadd
sadd key member[member1 member2...]
将一个或多个member加入到集合key中
2) smembers
smembers key
获取集合key中的所有成员元素
3) sismember
sismember key member
判断member是否属于集合key
4) scard
scark key
获取集合key中的元素个数
5) srem
srem key member[member1 member2...]
删除集合key中的一个或多个元素
6) srandmember
srandmember key[count]
随机从集合key中返回count个成员元素 若不输入count 则默认返回一个元素
7) spop
spop key[count]
随机从集合中弹出count个元素,弹出的元素会从集合中删除并作为返回值返回,若不输入count 则默认返回一个元素
5. 有序集合zset
类似于java中的SortedSet, 会对成员按照每个元素的score值进行从小到大的排序
1) zadd
zadd key score member[score1 member1 score2 member2...]
将一个或多个member元素以及其score值加入到有序集合key中,若membenr存在 则更新其score。 score可以是整型或浮点型
2) zrange
zrang key start stop[withscores]
查询有序集合key在指定区间[start ,stop]中的元素 按照score值从小到大排序。
句尾可以添加withscores指令来使score和value一同返回
3) zrevrange
zrevrange key start stop [withscores]
返回有序集合key中指定区间内的成员 按照score值从大到小排序 。
句尾可以添加withscores指令来使score和value一同返回
4) zrem
zrem key member[member1 member2...]
删除有序集合key中的一个或多个成员,若成员不存在 则跳过该成员继续执行操作
5) zcard
zcard key
6) zrangebyscore
zrangebyscore key min max [withscores] [limit offset count]
获取有序集合key中,所有score的值在闭区间[min, max]内的成员 按照从小到大的顺序排序
若要取开区间,只需在min或max前加上 "(", 如下:
zrangebyscore key (min (max [withscores] [limit offset count]
使用-inf 和 +inf 表示有序集合中的最小值和最大值
limit用来限制返回结果的数量和区间 offset表示查询的起始位置 count表示查询的数量
7)zrevrangebyscore
zrevrangebyscore key (min (max [withscores] [limit offset count]
获取有序集合key中,所有score的值在闭区间[min, max]内的成员 按照从大到小的顺序排序
其他特性和zrangebyscore相同
8)zcount
zcount key min max
返回有序集合key中score位于闭区间[min, max]内的元素个数
四、事务的操作指令
Redis事务指一系列操作步骤的集合,Redis中的事务要么全部执行完毕,要么完全不执行。
1. multi
用于标记一个事务的开始,事务内的多条命令会按照先后顺序放到一个队列当中。
2.exec
执行所有事务块内的命令, 返回事务内执行语句内容,事务被打断时,会返回(nil)。
3.discard
取消事务,放弃执行事务块内的所有命令。
4.watch
watch key[key1 key2...]
监视一个或多个key,如果事务执行期间这个key被其他命令改动,将会打断这个事务的执行进程。
5.unwatch
取消watch命令对所有key的监视。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Redis常用命令整理 - Python技术站