最近在研究scrapy构建分布式爬虫,用到了一些redis数据库的语法,就把redis 的语法在这里总结了一下。

一.字符串

1.set key value 设置字符串key为value
2.setnx key value 只在键key不存在的情况下,将键key的值设置为value。若键key已经存在, 则SETNX命令不做任何动作。
3.setex key seconds value 将键key的值设置为value,并将键 key 的生存时间设置为seconds秒钟。如果键key已经存在,那么SETEX命令将覆盖已有的值。
4.get key 返回与键key相关联的字符串值。
5.getset key value将键key的值设为value,并返回键key在被设置之前的旧值。
6.strlen key 返回键key储存的字符串值的长度。
7.append key value 如果键 key 已经存在并且它的值是一个字符串,APPEND命令将把value追加到键key现有值的末尾。如果key不存在,APPEND就简单地将键key的值设为value,就像执行SET key value 一样。
8.incr key 为键key储存的数字值加上一。本操作的值限制在64位(bit)有符号数字表示之内。
9.incrby key increment 为键key储存的数字值加上增量increment。
10.incrbyfloat key increment 为键key储存的值加上浮点数增量increment。
11.decr decrby decrbyfloat用法同上

二.哈希表

1.hset hash field value 将哈希表hash中域field的值设置为value。
2.hsetnx hash field value 当且仅当域field尚未存在于哈希表的情况下, 将它的值设置为value。如果给定域已经存在于哈希表当中,那么命令将放弃执行设置操作。
3.hget hash field 在默认情况下返回给定域的值。
4.hexists hash field 检查给定域field是否存在于哈希表hash当中
5.hdel hash field 删除哈希表key中的一个或多个指定域,不存在的域将被忽略。
6.hlen 返回哈希表 key 中域的数量。
7.hstrlen key field 返回哈希表key中,与给定域field相关联的值的字符串长度(string length)。
8.hincrby key field increment 为哈希表key中的域field的值加上增量increment
9.hkeys hash 返回哈希表hash中的所有域。
10.hvals hash 返回哈希表hash中的所有域的值。
11.hgetall hash 返回哈希表hash中所有的域和值。

三.列表

1.lpush key value 将一个或多个值value插入到列表key的表头
2.rpush key value 将一个或多个值value插入到列表key的表尾(最右边)
3.lpop key 移除并返回列表key的头元素
4.rpop key 移除并返回列表key的尾元素。
5.lrem key count value 根据参数count的值,移除列表中与参数value相等的元素。
6.llen key 返回列表key的长度
7.lindex key index 返回列表key中,下标为index的元素。
8.linsert key BEFORE|AFTER pivot value 将值value插入到列表key当中,位于值pivot之前或之后。 例子:linsert list before “xjy” “zk”
9.lset key index value 将列表key下标为index的元素的值设置为 value。
10.lrange key start stop 返回列表key中指定区间内的元素,区间以偏移量start和stop指定。
11.ltrim key start stop 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

四.集合

1.sadd 将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略
2.sismember key member 判断member元素是否集合key的成员。
3.spop key 移除并返回集合中的一个随机元素。
4.srandmember key 如果命令执行时,只提供了key参数,那么返回集合中的一个随机元素
5.srem key member 移除集合key中的一个或多个member元素,不存在的member元素会被忽略。
6.scard key 返回集合key的基数(集合中元素的数量)。
7.smembers key 返回集合key中的所有成员。
8.sinter 返回两个集合的交集
9.sunion 返回两个集合的并集
10.sdiff 返回两个集合的差集

五.有序集合

1.zadd key score1 value1 score2 value2将一个或多个member元素及其score值加入到有序集key当中。
2.zscore key member 返回有序集key中,成员member的score值。
3.zincrby key increment member 为有序集key的成员member的score值加上增量increment 。
4.zcard key 返回有序集key的数量。
5.zcount key min max 返回有序集key中,score值在min和max之间(默认包括score值等于min或max)的成员的数量。
6.zrange key start stop 返回有序集key中,指定区间内的成员。其中成员的位置按score值递增(从小到大)来排序。
7.zrevrange key start stop 返回有序集key中,指定区间内的成员。其中成员的位置按score值递增(从大到小)来排序。
8.zrangebyscore key min max 返回有序集key中,所有score值介于min和max之间(包括等于min或max)的成员。有序集成员按score值递增(从小到大)次序排列。
9.zrevrangebyscore key max min 返回有序集key中,所有score值介于min和max之间(包括等于min或max)的成员。有序集成员按score值递增(从大到小)次序排列。
10.zrank key member 返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。
11.zrevrank key member 返回有序集key中成员member的排名。其中有序集成员按score值递增(从大到小)顺序排列。
12.zrem key member 移除有序集key中的一个或多个成员,不存在的成员将被忽略。

六.数据库

1.exist key 检查给定key是否存在。
2.type key 返回 key 所储存的值的类型。
3.rename key newkey 将key改名为newkey。
4.renamenx key newkey 当且仅当newkey不存在时,将key改名为newkey。
5.move key db 将当前数据库的key移动到给定的数据库db当中
6.del key 删除给定的一个或者多个key
7.randomkey 从当前数据库中随机返回(不删除)一个key。
8.dbsize 返回当前数据库的key的数量。
9.keys * 返回当前所有key