Redis操作大全.docx

上传人:牧羊曲112 文档编号:3165184 上传时间:2023-03-11 格式:DOCX 页数:25 大小:45.31KB
返回 下载 相关 举报
Redis操作大全.docx_第1页
第1页 / 共25页
Redis操作大全.docx_第2页
第2页 / 共25页
Redis操作大全.docx_第3页
第3页 / 共25页
Redis操作大全.docx_第4页
第4页 / 共25页
Redis操作大全.docx_第5页
第5页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Redis操作大全.docx》由会员分享,可在线阅读,更多相关《Redis操作大全.docx(25页珍藏版)》请在三一办公上搜索。

1、Redis操作大全Redis 操作大全 Redis:_construct 描述: 创建一个Redis客户端 范例: $redis = new Redis; connect, open 描述: 实例连接到一个Redis. 参数:host: string port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 范例: $redis-connect(127.0.0.1, 6379); get 描述: 获取有关指定键的值 参数:key 返回值:string或BOLL 如果键不存在,则返回 FALSE。否则,与此相关的关键值返回。范例: $redis-get(key); set

2、描述: 设置关键值参数 Redis 操作大全 参数:Key Value 返回值:BOOL 范例: $redis-set(key, value) setnx 描述: 如果在数据库中不存在该键,设置关键值参数 参数:key value 返回值:BOOL 范例: $this-redis-setnx(key, value); $this-redis-setnx(key, value); delete 描述: 删除指定的键 参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 keyN 返回值:删除的项数 范例: $redis-set(key1, val1); $redis-

3、set(key2, val2); $redis-set(key3, val3); $redis-set(key4, val4); Redis 操作大全 $redis-delete(key1, key2); $redis-delete(array(key3, key4); exists 描述: 验证指定的键是否存在 参数key 返回值:Bool 范例: $this-set(key, value); $this-exists(key); $this-exists(NonExistingKey); incr 描述: 数字递增存储键值键.如果第二个参数被填满,它将被用来作为整数值递增 Incremen

4、t the number stored at key by one. If the second argument is filled, it will be used as the integer value of the increment. 参数:key value:将被添加到键的值 返回值:INT the new value 范例: $redis-incr(key1); $redis-incr(key1); $redis-incr(key1); Redis 操作大全 $redis-incr(key1); decr 描述: 数字递减存储键值。如果第二个参数被填满,它将被用来作为整数值递减

5、 Decrement the number stored at key by one. If the second argument is filled, it will be used as the integer value of the decrement. 参数:key value:将被添加到键的值 返回值:INT the new value 范例: $redis-decr(key1); $redis-decr(key1); $redis-decr(key1); getMultiple 描述: 取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假 参数:其中包含键值的列表数

6、组 返回值:返回包含所有键的值的数组 范例: $redis-set(key1, value1); $redis-set(key2, value2); $redis-set(key3, value3); $redis-getMultiple(array(key1, key2, key3); Redis 操作大全 rPush 描述: 由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。 参数:key,value 返回值:LONG The new length of the list in case of success, FALSE in case

7、of Failure. 范例: $redis-delete(key1); $redis-lPush(key1, C); / returns 1 $redis-lPush(key1, B); / returns 2 $redis-lPush(key1, A); / returns 3 lPop 描述: 返回和移除列表的最后一个元素 参数:key 返回值:STRING if command executed successfully BOOL FALSE in case of failure (empty list) 范例: $redis-rPush(key1, A); $redis-rPush(

8、key1, B); $redis-rPush(key1, C); $redis-lPop(key1); Redis 操作大全 rPop 描述: 返回和移除列表的第一个元素 参数:key 返回值:STRING if command executed successfully BOOL FALSE in case of failure (empty list) 范例: $redis-rPush(key1, A); $redis-rPush(key1, B); $redis-rPush(key1, C); $redis-rPop(key1); lSize 描述: 返回的列表的大小。如果列表不存在或为

9、空,该命令返回0。如果该键不是列表,该命令返回FALSE。 参数:Key 返回值: LONG The size of the list identified by Key exists. BOOL FALSE if the data type identified by Key is not list 范例: $redis-rPush(key1, A); $redis-rPush(key1, B); Redis 操作大全 $redis-rPush(key1, C); $redis-lSize(key1); $redis-rPop(key1); $redis-lSize(key1); lGet

10、描述: 返回指定键存储在列表中指定的元素。 0第一个元素,1第二个 -1最后一个元素,-2的倒数第二错误的索引或键不指向列表则返回FALSE。 参数:key index 返回值: String the element at this index Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key. 范例: $redis-rPush(key1, A); $redis-rPush(key1, B); $redis-rPush(ke

11、y1, C); $redis-lGet(key1, 0); $redis-lGet(key1, -1); $redis-lGet(key1, 10); lSet 描述: Redis 操作大全 为列表指定的索引赋新的值,若不存在该索引返回false. 参数:key index value 返回值:BOOL TRUE if the new value is setted. FALSE if the index is out of range, or data type identified by key is not a list. 范例: $redis-rPush(key1, A); $redi

12、s-rPush(key1, B); $redis-rPush(key1, C); $redis-lGet(key1, 0); $redis-lSet(key1, 0, X); $redis-lGet(key1, 0); lGetRange 描述: 返回在该区域中的指定键列表中开始到结束存储的指定元素,lGetRange(key, start, end)。0第一个元素,1第二个元素 -1最后一个元素,-2的倒数第二 参数:key start end 返回值: Array containing the values in specified range. 范例: $redis-rPush(key1

13、, A); $redis-rPush(key1, B); $redis-rPush(key1, C); Redis 操作大全 $redis-lGetRange(key1, 0, -1); lRemove 描述: 从列表中从头部开始移除count个匹配的值。如果count为零,所有匹配的元素都被删除。如果count是负数,内容从尾部开始删除。 参数:key count value 返回值: LONG the number of elements to remove BOOL FALSE if the value identified by key is not a list. 范例: $redi

14、s-lPush(key1, A); $redis-lPush(key1, B); $redis-lPush(key1, C); $redis-lPush(key1, A); $redis-lPush(key1, A); $redis-lGetRange(key1, 0, -1); $redis-lRemove(key1, A, 2); $redis-lGetRange(key1, 0, -1); sAdd 描述: 为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。 参数:key value Redis 操作大全 返回值: BOOL TRUE if value didnt

15、exist and was added successfully, FALSE if the value is already present. 范例: $redis-sAdd(key1 , set1); $redis-sAdd(key1 , set2); $redis-sAdd(key1 , set2); sRemove 描述: 删除Key中指定的value值 参数:key member 返回值:BOOL TRUE if the member was present in the set, FALSE if it didnt. 范例: $redis-sAdd(key1 , set1); $r

16、edis-sAdd(key1 , set2); $redis-sAdd(key1 , set3); $redis-sRemove(key1, set2); sMove 描述: 将Key1中的value移动到Key2中 参数:srcKey dstKey member 返 回值:BOOL If the operation is successful, return TRUE. If the srcKey and/or dstKey Redis 操作大全 didnt exist, and/or the member didnt exist in srcKey, FALSE is returned.

17、范例: $redis-sAdd(key1 , set11); $redis-sAdd(key1 , set12); $redis-sAdd(key1 , set13); $redis-sAdd(key2 , set21); $redis-sAdd(key2 , set22); $redis-sMove(key1, key2, set13); sContains 描述: 检查集合中是否存在指定的值。 参数:key value 返回值:BOOL TRUE if value is a member of the set at key key, FALSE otherwise. 范例: $redis-

18、sAdd(key1 , set1); $redis-sAdd(key1 , set2); $redis-sAdd(key1 , set3); $redis-sContains(key1, set1); $redis-sContains(key1, setX); sSize 描述: 返回集合中存储值的数量 Redis 操作大全 参数:key 返回值:LONG the cardinality of the set identified by key, 0 if the set doesnt exist. 范例: $redis-sAdd(key1 , set1); $redis-sAdd(key1

19、, set2); $redis-sAdd(key1 , set3); $redis-sSize(key1); $redis-sSize(keyX); sPop 描述: 随机移除并返回key中的一个值 参数:key 返回值:String popped value Bool FALSE if set identified by key is empty or doesnt exist. 范例: $redis-sAdd(key1 , set1); $redis-sAdd(key1 , set2); $redis-sAdd(key1 , set3); $redis-sPop(key1); $redis

20、-sPop(key1); sInter 描述: Redis 操作大全 返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。 参数:key1, key2, keyN: keys identifying the different sets on which we will apply the intersection. 返 回值:Array, contain the result of the intersection between those keys. If the intersection beteen the differen

21、t sets is empty, the return value will be empty array. 范例: $redis-sAdd(key1, val1); $redis-sAdd(key1, val2); $redis-sAdd(key1, val3); $redis-sAdd(key1, val4); $redis-sAdd(key2, val3); $redis-sAdd(key2, val4); $redis-sAdd(key3, val3); $redis-sAdd(key3, val4); var_dump($redis-sInter(key1, key2, key3);

22、 输出: array(2) 0=string(4) val4 1=string(4) val3 sInterStore 描述: 执行sInter命令并把结果储存到新建的变量中。 参数: Redis 操作大全 Key: dstkey, the key to store the diff into. Keys: key1, key2 keyN. key1.keyN are intersected as in sInter. 返回值:INTEGER: The cardinality of the resulting set, or FALSE in case of a missing key. 范例

23、: $redis-sAdd(key1, val1); $redis-sAdd(key1, val2); $redis-sAdd(key1, val3); $redis-sAdd(key1, val4); $redis-sAdd(key2, val3); $redis-sAdd(key2, val4); $redis-sAdd(key3, val3); $redis-sAdd(key3, val4); var_dump($redis-sInterStore(output, key1, key2, key3); var_dump($redis-sMembers(output); 输出: int(2

24、) array(2) 0= string(4) val4 1= string(4) val3 Redis 操作大全 sUnion 描述: 返回一个所有指定键的并集 参数: Keys: key1, key2, , keyN: Any number of keys corresponding to sets in redis. 返回值: Array of strings: The union of all these sets. 范例: $redis-delete(s0, s1, s2); $redis-sAdd(s0, 1); $redis-sAdd(s0, 2); $redis-sAdd(s1

25、, 3); $redis-sAdd(s1, 1); $redis-sAdd(s2, 3); $redis-sAdd(s2, 4); var_dump($redis-sUnion(s0, s1, s2); 输出: array(4) 0= string(1) 3 1= string(1) 4 Redis 操作大全 2= string(1) 1 3= string(1) 2 sUnionStore 描述: 执行sUnion命令并把结果储存到新建的变量中。 参数: Key: dstkey, the key to store the diff into. Keys: key1, key2, , keyN

26、: Any number of keys corresponding to sets in redis. 返回值: INTEGER: The cardinality of the resulting set, or FALSE in case of a missing key. 范例: $redis-delete(s0, s1, s2); $redis-sAdd(s0, 1); $redis-sAdd(s0, 2); $redis-sAdd(s1, 3); $redis-sAdd(s1, 1); $redis-sAdd(s2, 3); $redis-sAdd(s2, 4); var_dump(

27、$redis-sUnionStore(dst, s0, s1, s2); Redis 操作大全 var_dump($redis-sMembers(dst); 输出: int(4) array(4) 0= string(1) 3 1= string(1) 4 2= string(1) 1 3= string(1) 2 sDiff 描述: 返回第一个集合中存在并在其他所有集合中不存在的结果 参数:Keys: key1, key2, , keyN: Any number of keys corresponding to sets in redis.返回值:Array of strings: The

28、difference of the first set will all the others. 范例: $redis-delete(s0, s1, s2); $redis-sAdd(s0, 1); $redis-sAdd(s0, 2); Redis 操作大全 $redis-sAdd(s0, 3); $redis-sAdd(s0, 4); $redis-sAdd(s1, 1); $redis-sAdd(s2, 3); var_dump($redis-sDiff(s0, s1, s2); array(2) 0= string(1) 4 1= string(1) 2 sDiffStore 描述:

29、执行sDiff命令并把结果储存到新建的变量中。 参数: Key: dstkey, the key to store the diff into. Keys: key1, key2, , keyN: Any number of keys corresponding to sets in redis 返回值:INTEGER: The cardinality of the resulting set, or FALSE in case of a missing key. 范例: $redis-delete(s0, s1, s2); $redis-sAdd(s0, 1); $redis-sAdd(s0

30、, 2); Redis 操作大全 $redis-sAdd(s0, 3); $redis-sAdd(s0, 4); $redis-sAdd(s1, 1); $redis-sAdd(s2, 3); var_dump($redis-sDiffStore(dst, s0, s1, s2); var_dump($redis-sMembers(dst); Return value: the number of elements of s0 that are neither in s1 nor in s2. int(2) array(2) 0= string(1) 4 1= string(1) 2 sMem

31、bers, sGetMembers 描述: 返回集合的内容 参数:Key: key 返回值:An array of elements, the contents of the set. 范例: $redis-delete(s); $redis-sAdd(s, a); Redis 操作大全 $redis-sAdd(s, b); $redis-sAdd(s, a); $redis-sAdd(s, c); var_dump($redis-sMembers(s); Output: array(3) 0= string(1) c 1= string(1) a 2= string(1) b getSet

32、描述: 返回当前的Key的值,并修改Key为新的值。 参数: Key: key STRING: value 返回值: A string, the previous value located at this key. 范例: Redis 操作大全 $redis-set(x, 42); $exValue = $redis-getSet(x, lol); / return 42, replaces x by lol $newValue = $redis-get(x) / return lol Redis根本是使用内存存储,持久化的关键是这三条指令:SAVE BGSAVE LASTSAVE 当接收到

33、SAVE指令的时候,Redis就会dump数据到一个文件里面。 值得一说的是它的独家功能:存储列表和集合,这是它与mc之流相比更有竞争力的地方。 不介绍mc里面已经有的东东,只列出特殊的: TYPE key 用来获取某key的类型 KEYS pattern 匹配所有符合模式的key,太淫荡了,比如KEYS * 就列出所有的key了,当然,复杂度O(n) RANDOMKEY - 返回随机的一个keyRENAME oldkey newkey key也可以改名 列表操作,精华 RPUSH key string 将某个值加入到一个key列表头部 LPUSH key string 将某个值加入到一个ke

34、y列表末尾 LLEN key 列表长度 LRANGE key start end 返回列表中某个范围的值,相当于mysql里面的分页查询那样 LTRIM key start end 只保留列表中某个范围的值 LINDEX key index 获取列表*定索引号的值,要注意是O(n)复杂度 LSET key index value 设置列表中某个位置的值 LPOP key RPOP key 和上面的LPOP一样,就是类似栈或队列的那种取头取尾指令,可以当成消息队列来使用了 Redis 操作大全 集合操作 SADD key member 增加元素 SREM key member 删除元素 SCAR

35、D key 返回集合大小 SISMEMBER key member 判断某个值是否在集合中 SINTER key1 key2 . keyN 获取多个集合的交集元素 SMEMBERS key 列出集合的所有元素 以下转自 http:/bbs.linuxtone.org/thread-7136-1-1.html 操作hash类型的值: Command Parameters Description HSET key field value Set the hash field to the specified value. Creates the hash if needed. HGET key f

36、ield Retrieve the value of the specified hash field. HMGET key field1 . fieldN Get the hash values associated to the specified fields. HMSET key field1 value1 . fieldN valueN Set the hash fields to their respective values. HINCRBY key field integer Increment the integer value of the hash at key on f

37、ield with integer. HEXISTS key field Test for existence of a specified field in a hash HDEL key field Remove the specified field from a hash HLEN key Return the number of items in a hash. HKEYS key Return all the fields in a hash. HVALS key Return all the values in a hash. Redis 操作大全 HGETALL key Ret

38、urn all the fields and associated values in a hash. HSET操作 falcon /redis-2.0.0$ ./redis-cli hset h_uid uid001 Falcon.C (integer) 1 falcon /redis-2.0.0$ ./redis-cli hset h_uid uid002 NetSeek (integer) 1 falcon /redis-2.0.0$ ./redis-cli hset h_uid uid003 LinuxTone (integer) 1 falcon /redis-2.0.0$ ./re

39、dis-cli hkeys h_uid 1. uid001 2. uid002 3. uid003 falcon /redis-2.0.0$ ./redis-cli hvals h_uid 1. Falcon.C 2. NetSeek 3. LinuxTone 复制代码 表示给指定的hash字段设置值,如果不存在则创建 HGET操作 falcon /redis-2.0.0$ ./redis-cli hget h_uid uid001 Falcon.C falcon /redis-2.0.0$ ./redis-cli hget h_uid uid002 Redis 操作大全 NetSeek fa

40、lcon /redis-2.0.0$ ./redis-cli hget h_uid uid003 LinuxTone 复制代码 表示获取指定hash字段的值 HMGET操作 falcon /redis-2.0.0$ ./redis-cli hmget h_uid uid001 uid002 uid003 1. Falcon.C 2. NetSeek 3. LinuxTone 复制代码 表示批量获取指定hash字段的值 HMSET操作 falcon /redis-2.0.0$ ./redis-cli hmset h_uid uid004 linuxtone.org uid005 OK falco

41、n /redis-2.0.0$ ./redis-cli hkeys h_uid 1. uid001 2. uid002 3. uid003 4. uid004 5. uid005 Redis 操作大全 falcon /redis-2.0.0$ ./redis-cli hvals h_uid 1. Falcon.C 2. NetSeek 3. LinuxTone 4. linuxtone.org 5. 复制代码 表示批量设置hash字段的值 HINCRBY操作 falcon /redis-2.0.0$ ./redis-cli hincrby h_uid_incr uid 1 (integer)

42、1 falcon /redis-2.0.0$ ./redis-cli hincrby h_uid_incr uid 1 (integer) 2 falcon /redis-2.0.0$ ./redis-cli hincrby h_uid_incr uid 3 (integer) 5 falcon /redis-2.0.0$ ./redis-cli hvals h_uid_incr 1. 5 复制代码 表示对指定的hash字段的值进行递增操作 HEXISTS操作 falcon /redis-2.0.0$ ./redis-cli hexists h_uid uid001 (integer) 1 R

43、edis 操作大全 falcon /redis-2.0.0$ ./redis-cli hexists h_uid uid0011 (integer) 0 复制代码 表示判断指定的hash字段是否存在 HDEL操作 falcon /redis-2.0.0$ ./redis-cli hset h_uid uid 1 (integer) 1 falcon /redis-2.0.0$ ./redis-cli hvals h_uid 1. Falcon.C 2. NetSeek 3. LinuxTone 4. linuxtone.org 5. 6. 1 falcon /redis-2.0.0$ ./redis-cli hdel h_uid uid (integer) 1 falcon /redis-2.0.0$ ./redis-cli hvals h_uid 1. Falcon.C 2. NetSeek 3. LinuxTone 4. linuxtone.org 5. Redis 操作大全 复制代码 表示通过指定的hash字段删除hash值 HLEN操作 falcon /redis-2.0.0$ ./redis-cli hlen h_uid (

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号