Redis中主要通过命令来对key和value进行操作:
一、key
1、del命令:用于删除已存在的键,不存在的key会被忽略;
2、exists命令:用于检查给定key是否存在;
3、expire命令:用于设置key的过期时间,key过期后将不再可用;
4、expireat命令:用于以时间戳(unix timestamp)格式设置key的过期时间,key过期将不可用;
5、pexpireat命令:用于设置key的过期时间,单位是毫秒,key过期将不再可用;
6、persist命令:用于移除给定key的过期时间,使得key永不过期;
7、keys命令:用于查找所有符合给定模式pattern的key,可以使用*通配符;
8、move命令:用于将当前数据库的key移动到给定的数据库db当中;Redis默认有16个数据库,下标为0-15,默认使用0(select 0);切换数据库:select 下标;
9、ttl命令:以秒为单位返回key的剩余过期时间;-1永不过期,-2已经过期;
10、pttl命令:以毫秒为单位返回key的剩余过期时间;
11、randomkey命令:从当前数据库中随机返回一个key;
12、rename命令:用于修改key的名称;
13、renamex命令:用于在新的key不存在时修改key的名称,只要新名称不存在时才会修改成功,防止覆盖;
14、type命令:用于返回key所存储的值的类型。
二、String
1、set:用于设置给定key的值,有旧值则覆盖;
2、get:用于获取指定key的值,不存在返回nil,值不是字符串类型时返回一个错误;
3、getrange:用于获取存储在指定key中的字符串的子字符串,字符串的截取范围由start和end两个偏移量来决定;
4、getset:用于设置指定key的值,并返回key旧的值;
5、mset:用于同时设置一个或多个key-value对;
6、mget:用于返回一个或多个给定key的值;
7、setex:为指定的key设置值及其过期时间;
8、psetex:以毫秒为单位设置key的生存时间;
9、setnx(set if not exists):在指定key不存在时,为key设置指定的值;
10、msetnx:用于所有给定key不存在时,同时设置一个或多个key-value对;
11、setrange:用指定的字符串覆盖给定key所储存的字符串值;
12、strlen:用于获取指定key所储存的字符串值的长度;
13、Incr:将key中储存的数字值增一;
14、Incrby:将key中储存的数字加上指定的增量值;
15、Incrbyfloat:为key中所储存的值加上浮点数增量值;
16、Decr:将key中储存的数字值减一;
17、Decrby:将key所储存的值减去指定的减量值;
18、append:用于为指定的key增加值。
三、hash
1、hset:用于为哈希表中的字段赋值;
2、hsetnx:用于为哈希表中不存在的字段赋值;
3、hmset:用于同时将多个field-value(字段-值)对设置到哈希表中;
4、hget:用于返回哈希表中指定字段的值;
5、hmget:用于返回哈希表中一个或多个字段的值;
6、hgetall:用于返回哈希表中所有字段和值;
7、hexists:用于查看哈希表的指定字段是否存在;
8、hlen:用于获取哈希表中字段的数量;
9、hdel:用于删除哈希表key中的一个或多个指定字段;
10、hkeys:用于获取哈希表中的所有字段名;
11、hvals:返回哈希表所有字段的值;
12、hincrby:用于为哈希表中的字段值加上指定增量值;
13、hincrbyfloat:用于为哈希表中的字段值加上指定浮点数增量值。
四、list
1、lpush:将一个或多个值插入到列表头部;
2、lpushx:将一个或多个值插入到已存在的列表头部;
3、lpop:用于移除并返回列表的第一个元素;
4、llen:用于返回列表的长度;
5、lindex:用于通过索引获取列表中的元素;
6、lrange:返回列表中指定区间内的元素;
7、linsert:用于在列表的元素前或者后插入元素;
8、lset:通过索引来设置元素的值;
9、ltrim:对一个列表进行修剪,让列表只保留指定区间内的元素,删除不在区间内的其他元素;
10、lrem:根据参数的值,移除列表中与参数value相等的元素;
11、rpush:用于将一个或多个值插入到列表的尾部;
12、rpushx:用于将一个或多个值插入到已存在的列表尾部;
13、rpop:用于移除并返回列表的最后一个元素;
14、rpoplpush:用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回;
15、blpop:移出并获取列表的第一个元素;
16、brpop:移出并获取列表的最后一个元素;
17、brpoplpush:从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它。
五、set
1、sadd:将一个或多个成员元素加入到集合中;
2、scard:返回集合中元素的数量;
3、sdiff:返回给定集合之间的差集;
4、sdiffstore:将给定集合之间的差集存储在指定的集合中;
5、sinter:返回给定所有给定集合的交集;
6、sinterstore:将给定集合之间的交集存储在指定的集合中;
7、sismember:判断成员元素是否是集合的成员;
8、smembers:返回集合中的所有的成员;
9、smove:将指定成员member元素从source集合移动到destination集合;
10、spop:用于移除并返回集合中的一个随机元素;
11、srandmember:用于返回集合中的一个随机元素;
12、srem:用于移除集合中的一个或多个成员元素;
13、sunion:返回给定集合的并集;
14、sunionstore:将给定集合的并集存储在指定的集合destination中;
15、sscan:用于迭代集合键中的元素。
六、zset
1、zadd:用于将一个或多个成员元素及其分数值加入到有序集合中;
2、zcard:用于计算集合中元素的数量;
3、zcount:用于计算有序集合中指定分数区间的成员数量;
4、zincrby:对有序集合中指定成员的分数加上增量increment;
5、zinterstore:计算给定的一个或多个有序集的交集;
6、zlexcount:在计算有序集合中指定字典区间内成员数量;
7、zrange:返回有序集中,指定区间内的成员;
8、zrangebylex:通过字典区间返回有序集合的成员;
9、zrangebyscore:返回有序集合中指定分数区间的成员列表;
10、zrank:返回有序集中指定成员的排名;
11、zrem:用于移除有序集中一个或多个成员;
12、zremrangebylex:用于移除有序集合中给定的字典区间的所有成员;
13、zremrangebyrank:用于移除有序集中,指定排名区间内的所有成员;
14、zremrangebyscore:用于移除有序集中,指定分数区间内的所有成员;
15、zrevrange:返回有序集中,指定区间内的成员;
16、zrevrank:返回有序集中成员的排名;
17、zscore:返回有序集中成员的分数值;
18、zunionstore:计算给定的一个或多个有序集的并集;
19、zsan:用于迭代有序集合中的元素(包括元素成员和元素分值)。