PHP操作Redis LIST ,SET, HASH 的相关命令 (一)
2016-09-28 10:34
651 查看
1.PHP操作Redis之List
1、lPush()/rPush()lPush()的语法格式是:$redis->lPush(key, value),作用是将value添加到链表key的左边(头部)。 rPush()的语法格式是:$redis->rPush(key, value),作用是将value添加到链表key的右边(尾部)。2、lPushx()/rPushx()
lPushx 将值value插入到列表key的表头,当且仅当key存在并且是一个列表。 rPushx 将值value插入到列表key的表尾,当且仅当key存在并且是一个列表。3、lPop()/rPop()
lPop()的语法格式是:$redis->lPop(key),作用是将链表key的左边(头部)元素删除。 rPop()的语法格式是:$redis->rPop(key),作用是将链表key的右边(尾部)元素删除。4、lSize()
lSize()的语法格式是:$redis->lSize(key),作用是返回链表key中有多少个元素。5、lGet()/lIndex()
lGet()的语法格式是:$redis->lGet(key, index),作用是返回链表key的index位置的元素值。6、lSet()
lSet()的语法格式是:$redis->lSet(key, index, value),作用是将链表key的index位置的元素值设为value。7、lRange()/lGetRange()
lRange()的语法格式是:$redis->lRange(key, start, end),作用是返回链表key中start到end位置间的元素。end为-1时,返回所有元素。例如: //返回链表lang中的所有元素 print_r($redis->lRange('lang', 0, -1));8、lTrim()/listTrim()
lTrim()的语法格式是:$redis->lTrim(key, start, end),作用是截取链表key中start到end位置间的元素。9、lRem()/lRemove()
lRem()的语法格式是:$redis->lRem(key, value, count),作用是删除链表key中count个值为value的元素。count为0,则删除所有value;count大于0,则从头到尾删除count<span style="font-family: Arial, Helvetica, sans-serif;">个元素;count小于0,则从尾到头删除count个元素。</span>
2.PHP操作Redis之SET(集合)
1、sAdd()添加一个VALUE到SET容器中,如果这个VALUE已经存在于SET中,那么返回FLASE。 $redis->sAdd('key1' , 'member1'); /* TRUE, 'key1' => {'member1'} */ $redis->sAdd('key1' , 'member2'); /* TRUE, 'key1' => {'member1', 'member2'}*/ $redis->sAdd('key1' , 'member2'); /* FALSE, 'key1' => {'member1', 'member2'}*/2、sRem()
移除指定的VALUE从SET容器中 $redis->sAdd('key1' , 'member1'); $redis->sAdd('key1' , 'member2'); $redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/ $redis->sRem('key1', 'member2'); /* 'key1' => {'member1', 'member3'} */3、sMove()
将member元素从source集合移动到destination集合中。 如果source集合不存在或不包含指定的member元素,则SMOVE命令不执行任何操作,仅返回0。否则,member元素从source集合中被移除,并添加到destination集合中去。 当destination集合已经包含member元素时,SMOVE命令只是简单地将source集合中的member元素删除。 当source或destination不是集合类型时,返回一个错误。 $redis->sAdd('key1' , 'member11'); $redis->sAdd('key1' , 'member12'); $redis->sAdd('key1' , 'member13'); /* 'key1' => {'member11', 'member12', 'member13'}*/ $redis->sAdd('key2' , 'member21'); $redis->sAdd('key2' , 'member22'); /* 'key2' => {'member21', 'member22'}*/ $redis->sMove('key1', 'key2', 'member13'); /* 'key1' => {'member11', 'member12'} *//* 'key2' => {'member21', 'member22', 'member13'} */4、sIsMember()
判断member元素是否是集合key的成员。 $redis->sIsMember('key1', 'member1'); /* TRUE */ $redis->sIsMember('key1', 'memberX'); /* FALSE */5、sIsMember()
返回集合key中的所有成员。 $redis->delete('s'); $redis->sAdd('s', 'a'); $redis->sAdd('s', 'b'); $redis->sAdd('s', 'a'); $redis->sAdd('s', 'c'); var_dump($redis->sMembers('s'));6、sCard()
返回SET容器的成员数 $redis->sAdd('key1' , 'member1'); $redis->sAdd('key1' , 'member2'); $redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/ $redis->sCard('key1'); /* 3 */ $redis->sCard('keyX'); /* 0 */7、sPop()
移除并返回集合中的一个随机元素。 $redis->sAdd('key1' , 'member1'); $redis->sAdd('key1' , 'member2'); $redis->sAdd('key1' , 'member3'); /* 'key1' => {'member3', 'member1', 'member2'}*/ $redis->sPop('key1'); /* 'member1', 'key1' => {'member3', 'member2'} */ $redis->sPop('key1'); /* 'member3', 'key1' => {'member2'} */8、sInter()
返回指定SETS集合的交集结果。如果只是指定了一个SET集合,那么返回该SET集合。如果在参数中有参数错误,那么则返回FLASE。 $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')); array(2) { [0]=> string(4) "val4" [1]=> string(4) "val3" }9、sInterStore()
执行一个交集操作,并把结果存储到一个新的SET容器中。 $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) array(2) { [0]=> string(4) "val4" [1]=> string(4) "val3" }10、sUnion()
执行一个并集操作在N个SET容器之间,并返回结果。 $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($redis->sUnion('s0', 's1', 's2')); array(4) { [0]=> string(1) "3" [1]=> string(1) "4" [2]=> string(1) "1" [3]=> string(1) "2" }11、sUnionStore()
执行一个并集操作就和sUnion()一样,但是结果储存在第一个参数中。 $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($redis->sUnionStore('dst', 's0', 's1', 's2')); 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" }12、sDiff()
执行差集操作在N个不同的SET容器之间,并返回结果。这个操作取得结果是第一个SET相对于其他参与计算的SET集合的差集。 $redis->delete('s0', 's1', 's2'); $redis->sAdd('s0', '1'); $redis->sAdd('s0', '2'); $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" }13、sDiffStore()
此命令等同于SDIFF,但它将结果保存到destination集合,而不是简单地返回结果集。 $redis->delete('s0', 's1', 's2'); $redis->sAdd('s0', '1'); $redis->sAdd('s0', '2'); $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'));<strong> </strong>
3.PHP操作Redis之HASH
1、hSet()给哈希表中某个 key 设置值.如果值已经存在, 返回 false 返回值: LONG 如果成功设置,返回 1, 如果 key 已经存在,会替换成新值,且返回 0。失败返回 0 $redis->delete('h') $redis->hSet('h', 'key1', 'hello'); $redis->hGet('h', 'key1'); $redis->hSet('h', 'key1', 'plop'); $redis->hGet('h', 'key1');2、hSetNx()
当哈希表中不存在某 key 时,给该 key 设置一个值 返回值: BOOL: 成功返回 TRUE. 失败返回 FALSE. $redis->delete('h') $redis->hSetNx('h', 'key1', 'hello'); $redis->hSetNx('h', 'key1', 'world');3、hGet()
获得某哈希 key 的值.如果 hash 表不存在或对应的 key 不存在,返回 false 返回值: STRING ,如果 hash 表不存在或对应的 key 不存在,返回 false $redis->delete('h') $redis->hSet('h', 'key1', 'hello'); $redis->hGet('h', 'key1');4、hLen()
哈表中 key 的数量 返回值: LONG 哈表中 key 的数量.如果 hash 表不存在,或者对应的 key 的值不是 hash 类型,返回 false $redis->delete('h') $redis->hSet('h', 'key1', 'hello'); $redis->hSet('h', 'key2', 'plop'); $redis->hLen('h');5、hDel()
删除一个哈希 key.如果 hash 表不存在或对应的 key 不存在,返回 false 返回值: BOOL: 成功返回 TRUE. 失败返回 FALSE. $redis->delete('h') $redis->hSet('h', 'key1', 'hello'); $redis->hSet('h', 'key2', 'plop'); $redis->hSet('h', 'key2');6、hKeys()
获得哈希表中所有的 key 返回值: 数组 $redis->delete('h'); $redis->hSet('h', 'a', 'x'); $redis->hSet('h', 'b', 'y'); $redis->hSet('h', 'c', 'z'); $redis->hSet('h', 'd', 't'); var_dump($redis->hKeys('h')); 输出: array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" } 顺序是随机的7、hVals()
获得哈希表中所有的值 返回值: 数组 $redis->delete('h'); $redis->hSet('h', 'a', 'x'); $redis->hSet('h', 'b', 'y'); $redis->hSet('h', 'c', 'z'); $redis->hSet('h', 'd', 't'); var_dump($redis->hVals('h')); 输出: array(4) { [0]=> string(1) "x" [1]=> string(1) "y" [2]=> string(1) "z" [3]=> string(1) "t" } 顺序是随机的8、hGetAll()
获得一个哈希表中所有的 key 和 value 示例: $redis->delete('h'); $redis->hSet('h', 'a', 'x'); $redis->hSet('h', 'b', 'y'); $redis->hSet('h', 'c', 'z'); $redis->hSet('h', 'd', 't'); var_dump($redis->hGetAll('h')); 输出: array(4) { ["a"]=> string(1) "x" ["b"]=> string(1) "y" ["c"]=> string(1) "z" ["d"]=> string(1) "t" } 顺序是随机的9、hExists()
检查哈希 key是否存在 返回值: BOOL: 存在返回 true, 不存在返回 false $redis->hSet('h', 'a', 'x'); $redis->hExists('h', 'a'); $redis->hExists('h', 'NonExistingKey');10、hIncrBy()
给哈希表中某 key 增加一个整数值 返回值: LONG 增加后的值 $redis->delete('h'); $redis->hIncrBy('h', 'x', 2); $redis->hIncrBy('h', 'x', 1);11、hIncrByFloat()
给哈希表中某 key 增加一个浮点数值 返回值: FLOAT 增加后的值 $redis->delete('h'); $redis->hIncrByFloat('h','x', 1.5); $redis->hIncrByFLoat('h', 'x', 1.5); $redis->hIncrByFloat('h', 'x', -3.0);12、hMSet()
给哈希表设置多个 key 的值 返回值: BOOL 示例: $redis->delete('user:1'); $redis->hMset('user:1', array('name' => 'Joe', 'salary' => 2000));13、hMGet()
获得哈希表中多个 key 的值 $redis->delete('h'); $redis->hSet('h', 'field1', 'value1'); $redis->hSet('h', 'field2', 'value2'); $redis->hmGet('h', array('field1', 'field2'));php 操作redis相关文章PHP操作Redis KEY,String 的相关命令 (二)
PHP操作Redis 有序集(Sorted Set) 的相关命令 (三)
相关文章推荐
- PHP操作Redis LIST ,SET, HASH 的相关命令 (一)
- PHP操作Redis LIST ,SET, HASH 的相关命令 (一)
- PHP操作Redis 有序集(Sorted Set) 的相关命令 (三)
- redis的hash, list, set类型相关命令
- PHP操作Redis 有序集(Sorted Set) 的相关命令 (三)
- JAVAWEB开发之redis学习(三)——list相关的操作命令
- JAVAWEB开发之redis学习(四)——Set集合相关的操作命令
- redis 使用命令 string,list,set,hash
- Redis-Service.Stack.Redis对Redis基本数据类型String,List,Hash,Set,ZSet的操作
- Redis对字符串、Hash(对象)、列表(List)处理的操作命令
- 分布式内存数据库---Redis操作String、list、set、hash和Zset
- redis常见操作命令-hash
- Redis-PHP-Hash 表相关API
- redis常见操作命令-set
- Redis--Hash类型命令操作
- redis list命令操作
- redis命令参考(三) List列表相关
- php操作redis中的hash类型数据的方法和代码例子
- redis常见操作命令-list
- php操作redis中的hash和zset类型数据的方法和代码例子