Redis 笔记

xiaoxiao2021-02-28  103

Redis的数据类型

expire(为给定 key 设置生存时间) 语法:expire key seconds

String 字符串类型 一个键最多存储512M

1> SET:设置key对应值为value 语法: SET key value SET str1 'xdl' 2>GET:根据KEY找到对应的值 语法: GET key 注意:如果key不存在 返回nil 3>GETRANGE:返回字符串中的一部分 语法: GETRANGE key start end GETRANGE str1 0 1 GETRANGE str1 0 -1 GETRANGE str1 0 -2 GETRANGE str1 0 1000 4>GETSET:设置指定key的值,并返回旧值 语法: GETSET key value SET str2 'itxdl' GETSET str2 'xdl' 注意:当key不存在返回nil 5>MSET:一次设置多个键值对 语法:MSET key value [key value .......] MSET str4 'xdl' str5 'itxdl' str6 'xdlo2o' 6>MSETNX:一次设置多个key-value对,只有所有的key都不存在的时候才会成功 语法: MSETNX key value [key value .....] MSETNX str10 'a' str11 'b' str12 'c' MSETNX str12 'd' str13 'e' 7>MGET:一次得到多个键值 语法: MGET key key MGET str4 str5 str6 8>STRLEN:获取key的字符串长度 语法: STRLEN key STRLEN str4 9>SETRANGE:相当于字符串替换 语法:SETRANGE key offset value SET str7 'hello' SETRANGE str7 5 'xdl' 注意: 如果设置key原来的字符串的长度比偏移量小,就会以零字节(\x00)来填充 10>SETNX:只有KEY不存在的时候才能设置成功 语法: SETNX key value SETNX str7 'hello' 11>SETEX:设置一个KEY并且设置一个过期时间 语法: SETEX key seconds value SETEX str8 30 'xdl' 12>PSETEX: 以毫秒为单位设置KEY的生存周期 语法:PSEREX key milliseconds value PSETEX set9 20000 'hello' 13> INCR:对key中存储的数字加1 语法: INCR key SET str14 1 INCR str14 INCR str15 注意:key如果不存在,则会先初始化为0,在进行INCR操作 14>INCRBY:将key中存储的数字加上指定增量 语法: INCRBY key INCREMENT SET str16 10 INCRBY str16 5 INCRBY str16 1.5 15>INCRBYFLOAT:将key中存储的数字加上指定浮点数 语法; INCRBYFLOAT key increment SET str17 1 INCRBYFLOAT str17 1.5 16>DECR:将key中存储的数字减1 语法: DECR key SET str18 1 DECR str18 17>DECRBY:将key中存储的数值减指定值 语法: DECRBY key decrement SET str19 20 DECRBY str19 5 18>APPEND:通过APPEND将值追加到字符串末尾 语法:APPEND key value SET str20 'xdl' APPEND str20 'o2o'

LIST列表类型

1>LPUSH:向列表左端添加元素 语法: LPUSH key value value .... LPUSH list1 a b c 2>RPUSH:向列表右端添加元素 语法: RPUSH key value .... RPUSH list1 d e 3>LRANGE:获取列表片段 语法: LRANGE key start stop LRANGE list1 0 -1 4>LPUSHX:向列表头部添加元素,只有key存在才添加 语法: LPUSHX key value LPUSHX list1 a 5>RPUSHX:向列表尾部添加元素,只有key存在才添加 语法: RPUSHX key value 6>LPOP:将列表头部的元素弹出 语法: LPOP key LPOP list1 7>RPOP:弹出列表尾部元素 语法: RPOP key RPOP list1 8>LLEN:获取列表长度 语法 LLEN key LLEN list1 9>LREM:删除列表中的指定值 语法: LREM key count value count >0 :从列表头部开始,向尾部搜索,移除与value相等的元素,移除count个 count <0 :从列表的尾部开始,向头部搜索,,移除与value相等的元素,移除count个 count = 0:移除列表中所有与value相等的元素 LPUSH list3 a b c d a e b d c b e d LREM list3 2 a LREM list3 -2 b LREM list3 0 d 10>LINDEX:获取指定索引元素上的值 语法: LIDEX key index LINDEX list3 3 11>LSET:设置指定元素的值 语法: LSET key index value LSET list3 10 a 12>LTRIM:只保留列表片段 语法:LTRIM key start stop LTRIM list3 0 3 LPUSH list3 a b c a b c a b c LTRIM list3 0 1000 13>LINSERT 向列表中插入元素 语法: LINSERT key BEFORE|AFTER pivot value LPUSH list4 a b c d LINSERT list4 BEFORE 'b' 'x' LINSERT list4 AFTER 'b' 'x' 14>RPOPLPUSH:将元素从一个列表转移到另一个列表 语法 RPOPLPUSH source destination LPUSH list5 a b c LPUSH list6 x y z RPOPLPUSH list5 list6

SET集合类型:无序集合

1> SADD:向集合中添加一个元素 语法 SADD key value [,.......] SADD set1 xdl SADD set1 itxdl 2>SMEMBERS:返回指定集合中的元素 语法: SMEMBERS key SMEMBERS set1 3>SISMEMBER:检查member是否是集合中的成员 语法:SISMEMBER key member SISMEMBER set1 xdl 4>SREM:删除集合中一个或多个成员 语法:SREM key member [member ....] SREM set1 xdl 5>SPOP:删除并返回集合中的随机元素 语法: SPOP key SPOP set1 6>SRANDMEMBER:随机返回集合中元素 语法: SRANDMEMBER key count 注意: count 为正数,而且小于集合中的元素,返回一个随机元素的集合数组, count 数大于集合中的个数的时候,返回整个集合 count 为负数,返回一个数组,数组中的成员可能出现重复,数组的长度是count的绝对值 SRANDMEMBER set1 -3 7>SDIFF:返回集合的差集 语法: SDIFF key key .... SADD set2 a b c d SADD set3 c d e f SADD set4 a e SDIFF set3 set2 SDIFF set2 set3 set4 8>SINTER:返回集合的交集 语法: SINTER key key key ... SINTER set2 set3 SADD set5 c SINTER set2 set3 set5 9>SUNION:返回集合中并集 语法: SUNION key key ... SUNION set2 set3 SUNION set2 set3 set4 10>SCARD:返回集合中元素个数 语法: SCARD key SCARD set2 11>SDIFFSTORE:将差集的结果保存到指定的集合当中 语法: SDIFFSTORE destination key key .... SDIFFSTORE set6 set2 set3 12>SINTERSTORE:将交集的结果保存到指定的集合当中 语法: SINTERSTORE destination key key .... SINTERSTORE set7 set2 set3 13>SUNIONSTORE:将并集的结果保存到指定的集合当中 语法: SUNIONSTORE destination key key .... SUNIONSTORE set8 set2 set3 14>SMOVE:将集合中的元素移动另一个集合中 语法 SMOVE source destination member SMOVE set3 set2 e

Hash类型

1>HSET:将哈希表中的key中的field设置成指定的value 语法:HSET key field value HSET h1 username 'zhangsan' HSET h1 password '123' HSET h1 age '18' 2>HGET:返回哈希表key中给的field的值 语法: HGET key field HGET h1 username HGET h1 age 3>HSETNX:将hash表中的field设置成指定的值,只有field不存在才能成功,如果field存在,操作无效 语法 HSETNX key field value HSETNX h1 aaa '20' HSETNX h1 aaa '21' 4>HMSET:通过多个 field value设置到hash表key中 语法 HMSET key field value field value ..... HMSET h2 username 'lisi' age '20' password '456' 5>HMGET:一次获得hash表key中多个field的值 语法: HMGET key field field ..... HMGET h2 username age password HMGET h2 username age password aaa 注意:如果hash表key中field不存在,返回nil 6>HGETALL:返回hash表key中所有的field和value 语法 HGETALL key HGETALL h2 7>HKEYS:返回hash表key中的所有的field 语法 HKEYS key HKEYS h2 8>HVALS:返回hash表key中所有的field的对应值 语法 HVALS key HVALS h2 9>HEXISTS:检测hash中key的field是否存在 语法: HEXISTS key field HEXISTS h2 username HEXISTS h2 aaa 10>HLEN:返回hash表key中的field的数量 语法 HLEN key HLEN h2 11>HINCRBY :给hash表key中的field做增量操作 语法 HINCRBY key field increment HSET h3 age 20 HINCRBY h3 age 5 12>HINCRBYFLOAT:给hash表key中的field做增量浮点操作 语法: HINCRBYFLOAT key field increment HSET h3 aaa '12.2' HINCRBYFLOAT h3 aaa 2.5 13>HDEL:删除hash中key的指定field,可删除一个或多个 语法: HDEL key field field ..... HDEL h2 username HGETALL h2

zset(sorted set)有序集合

1》ZADD:将元素及其分数添加到集合中 语法:ZADD key score member [score member] ZADD zset 100 xdl ZADD zset 98 zhangsan 98 list 80 test 78 test1 85 test2 ZADD zset 60 test2 67 test3 56 test4 2》ZSCORE:获得指定元素的分数 语法:ZSCORE key member ZSCORE zset xdl ZADD zset 12.3 test5 3》ZRANGE:按照元素分数从小到大的顺序返回指定索引start到stop之间所有元素(包含两端) 语法:ZRANGE key start stop [WITHSCORES] ZRANGE zset 0 -1 ZRANGE zset 0 -1 WITHSCORES ZRANGE zset 0 2 WITHSCORES ZRANGE zset 0 2000 WITHSCORES ZRANGE zset 1000 2000 WITHSCORES ZADD zset 60 test6 60 test7 60 test8 60 test9 注意:当两个元素的分数相同的时候,Redis在排序按照字典的顺序(0<9<A<Z<a<z),如果使用的是UTF-8的编码方式的中文同样按照字典顺序排列 4》ZREVRANGE:和ZRANGE相反,按照分数从大到小的顺序 语法:ZREVRANGE key start stop [WITHSCORES] ZREVRANGE zset 0 -1 WITHSCORES 5》ZRANGEBYSCORE:获得指定分数范围内的元素,按照分数从小到大的顺序,返回的是分数在指定的min到max的元素 语法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

获得分数80~90之间的所有元素 包含80 90

ZRANGEBYSCORE zset 80 90 ZADD zset 81 test9 82 test10 83 test11 84 test12 84 test13 88 test14 89 test15 90 test16 ZRANGEBYSCORE zset 80 90 WITHSCORES ZRANGEBYSCORE zset 80 (90 WITHSCORES ZRANGEBYSCORE zset (80 (90 WITHSCORES RANGEBYSCORE zset (80 (90 WITHSCORES LIMIT 0 3

注意:通过(代表不包端点

6》ZREVRANGEBYSCORE:获得指定分数范围内的元素,按照元素的分数从大到小的顺序返回min和max之间的元素 语法:ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] ZREVRANGEBYSCORE zset 90 80 WITHSCORES 7》ZINCRBY:操作某个元素的分数,返回操作之后的分数 语法:ZINCRBY key increment member ZINCRBY zset 5 test16 ZINCRBY zset -15 test16 8》ZCARD:获得集合中元素的数量 语法:ZCARD key ZCARD zset 9》ZCONUT:获得指定分数内的元素的数量 语法:ZCOUNT key min max ZCOUNT zset 80 90 COUNT zset (80 (90 10》ZREM:删除一个或者多个元素,返回删除元素的个数 语法:ZREM key member ... ZREM zset test16 11》ZREMRANGEBYRANK:按照排名范围删除元素,按照分数从小到大的顺序删除所指定的排名范围内的所有元素 语法:ZREMRANGEBYRANK key start stop ZADD testRem 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h ZREMRANGEBYRANK testRem 0 2 ZRANGE testRem 0 -1 WITHSCORES 12》ZREMRANGEBYSCORE:按照分数范围删除元素 语法:ZREMRANGEBYSCORE key min max ZADD testRem1 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h ZREMRANGEBYSCORE testRem1 3 7 ZRANGE testRem1 0 -1 WITHSCORES 13》ZRANK:获得指定元素的排名,根据分数从小到大的顺序 语法:ZRANK key member ZRANK zset xdl ZRANGE zset 0 -1 WITHSCORES 14》ZREVRANK:获得指定元素的排名,根据分数从大到小的顺序 语法:ZREVRANK key member ZREVRANK zset xdl ZREVRANGE zset 0 -1 WITHSCORES 15》ZINTERSTORE:计算有序集合的交集,并将结果保存起来 语法:ZINTERSTORE destination numkeys [WEIGHTS weight weight...] [AGGREGATE SUM | MIN | MAX] ZADD zset2 1 a 2 b 3 c ZADD zset3 10 a 20 b 30 c ZINTERSTORE zset4 2 zset2 zset3 ZREVRANGE zset5 0 -1 WITHSCORES ZINTERSTORE zset4 2 zset2 zset3 AGGREGATE SUM ZINTERSTORE zset5 2 zset2 zset3 AGGREGATE MIN ZINTERSTORE zset6 2 zset2 zset3 AGGREGATE MAX ZINTERSTORE zset7 2 zset2 zset3 WEIGHTS 2 0.2 16》ZUNIONSTORE:计算有序集合并集,将结果保存起来 语法:ZUNIONSTORE destination numkeys key key ... [WEIGHTS weight weight...] [AGGREGATE SUM | MIN | MAX] ZADD zset8 1 a 2 b 3 c ZADD zset9 4 d 5 e 6 f 7 a ZUNIONSTORE zset10 2 zset8 zset9 ZRANGE zset10 0 -1 WITHSCORES ZUNIONSTORE zset11 2 zset8 zset9 AGGREGATE SUM ZRANGE zset11 0 -1 WITHSCORES ZUNIONSTORE zset12 2 zset8 zset9 AGGREGATE MIN ZRANGE zset12 0 -1 WITHSCORES ZUNIONSTORE zset13 2 zset8 zset9 AGGREGATE MAX ZRANGE zset13 0 -1 WITHSCORES ZUNIONSTORE zset14 2 zset8 zset9 WEIGHTS 2 2 ZRANGE zset14 0 -1 WITHSCORES
转载请注明原文地址: https://www.6miu.com/read-27815.html

最新回复(0)