PHP操做redis部分命令

  1. //鏈接本地的 Redis 服務    
  2. $redis = new Redis();    
  3. $redis->connect('127.0.0.1', 6379);    
  4. $redis->auth('123456');    
  5.     
  6. /*********************Key(鍵)*********************/    
  7. //DEL key [key ...]------刪除給定的一個或多個key    
  8. $a = $redis->del(array('xrj','ly','fjf'));    
  9. //KEYS pattern------查找全部符合給定模式pattern的key    
  10. $b = $redis->keys('*');    
  11. //RANDOMKEY------從當前數據庫中隨機返回(不刪除)一個key    
  12. $c = $redis->randomkey();    
  13. //TTL key------以秒爲單位,返回給定key的剩餘生存時間(TTL, time to live)    
  14. //PTTL key------以毫秒爲單位,返回給定key的剩餘生存時間    
  15. $d = $redis->ttl('bbs');    
  16. //EXISTS key------檢查給定key是否存在,存在,返回1,不然返回0    
  17. $e = $redis->exists('email');    
  18. //MOVE key db------將當前數據庫的key移動到給定的數據庫db當中    
  19. $f = $redis->move('email',1);    
  20. $redis->select(1);    
  21. $f = $redis->keys('*');    
  22. $f = $redis->move('email',0);    
  23. //RENAME key newkey------將key更名爲newkey    
  24. $g = $redis->rename('email','e-eamil.com');    
  25. $g = $redis->rename('e-eamil.com','eamil');    
  26. //RENAMENX key newkey------當且僅當newkey不存在時,將key更名爲newkey    
  27. $h = $redis->renamenx('bbs','bbs1');    
  28. //TYPE key------返回key所儲存的值的類型    
  29. $i = $redis->type('pageview');    
  30. //EXPIRE key seconds------給key設置生存時間,當key過時時,它會被自動刪除    
  31. //PEXPIRE key milliseconds------以毫秒爲單位設置key的生存時間    
  32. //EXPIREAT key timestamp------命令接受的時間參數是UNIX時間戳,key存活到一個unix時間戳時間    
  33. //PERSIST key------移除給定key的生存時間,轉換成一個不帶生存時間,永不過時的key    
  34. //SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]------返回或保存給定列表、集合、有序集合key中通過排序的元素     
  35.     
  36. /****************String(字符串)相關操做***************/    
  37. //SET key value------將字符串值value關聯到key,會覆蓋    
  38. $a = $redis->set('email','jiang@58haha.cn');    
  39. //SETNX key value------將key的值設爲value,當且僅當key不存在的時候,成功返回1,不成功返回0    
  40. $b = $redis->setnx('email','jiang@58haha.cn');    
  41. //SETEX key seconds value------將值value關聯到key,並將key的生存時間設爲seconds(以秒爲單位)    
  42. $c = $redis->setex('name',10086,'江');    
  43. //PSETEX key milliseconds value------命令和SETEX命令類似,它以毫秒爲單位設置key的生存時間    
  44. $d = $redis->psetex('jiang',90000,'哈哈哈');    
  45. //MSET key value [key value ...]------同時設置一個或多個key-value對    
  46. $e = $redis->mset(array('ly' => 'liyang', 'fjf' => 'fengjingfeng'));    
  47. //MSETNX key value [key value ...]------同時設置一個或多個key-value對,當且僅當所給定key都不存在    
  48. $f = $redis->msetnx(array('ly' => 'liyang', 'xrj'=>'xingrongjiang', 'fjf' => 'fengjingfeng'));    
  49. //APPEND key value------若是key已經存在而且是一個字符串,APPEND命令將value追加到key原來的值的末尾。若是key不存在,APPEND就像執行SET key value同樣    
  50. $g = $redis->append('ly','love');    
  51. //GET key------返回key所關聯的字符串值,若是key不存在那麼返回特殊值nil,GET只能用於處理字符串值    
  52. $h = $redis->get('ly');    
  53. //MGET key [key ...]------返回全部(一個或多個)給定key的值,若是給定的key裏面有某個key不存在,那麼這個key返回特殊值nil,命令永不失敗    
  54. $i = $redis->mget(array('email','ly','fjf'));    
  55. //GETRANGE key start end------返回key中字符串值的子字符串,字符串的截取範圍由start和end兩個偏移量決定(包括start和end在內),負數偏移量表示從字符串最後開始計數,-1表示最後一個字符,-2表示倒數第二個    
  56. $j = $redis->getrange('email',0,-1); //從第一個到最後一個,至關於直接get    
  57. //GETSET key value------將給定key的值設爲value,並返回key的舊值(old value)    
  58. $k = $redis->getset('email','jiangzunshao@163.com');    
  59. //STRLEN key------返回key所儲存的字符串值的長度    
  60. $l = $redis->strlen('email');    
  61. //DECR key------將key中儲存的數字值減一,若是key不存在,那麼key的值會先被初始化爲0,而後再執行DECR操做    
  62. $m = $redis->decr('pageview');    
  63. //INCR key------將key中儲存的數字值增一,若是key不存在,那麼key的值會先被初始化爲0,而後再執行INCR操做    
  64. $n = $redis->incr('pageview1');    
  65. //DECRBY key decrement------將key所儲存的值減去減量decrement(能夠爲負值)    
  66. $o = $redis->decrby('pageview',3);    
  67. //INCRBY key increment------將key所儲存的值加上增量increment(能夠爲負值)    
  68. $p = $redis->incrby('pageview',6);    
  69.     
  70. /****************Hash(哈希表)相關操做***************/    
  71. //HSET key field value------將哈希表key中的域field的值設爲value,新建返回1,覆蓋返回0    
  72. $a = $redis->hset("user","jiang@58haha.cn","{'name':'jiangzunshao','age':25,'work':'php','city':'BeiJing'}");    
  73. //HSETNX key field value------將哈希表key中的域field的值設置爲value,當且僅當域field不存在的時候. 設置成功,返回1。若是已經存在且沒有操做被執行,返回0    
  74. $b = $redis->hsetnx("user","jiang@58haha.cn","{'name':'jiangzunshao','age':25,'work':'php','city':'BeiJing'}");    
  75. //HGET key field------返回哈希表key中給定域field的值    
  76. $c = $redis->hget("user","jiang@58haha.cn");    
  77. //HMSET key field value [field value ...]------同時將多個field-value(域-值)對設置到哈希表 key中    
  78. $d = $redis->hmset('user',array('name'=>'jiangzunshao', 'age' => 20));    
  79. //HMGET key field [field ...]------返回哈希表 key中,一個或多個給定域的值    
  80. $f = $redis->hmGet('user', array('name', 'age'));    
  81. //HGETALL key------返回哈希表key中,全部的域和值    
  82. $g = $redis->hgetall('user');    
  83. //HDEL key field [field ...]------刪除哈希表key中的一個或多個指定域,不存在的域將被忽略    
  84. $h = $redis->hdel('user','age');    
  85. //HLEN key------返回哈希表key中域的數量    
  86. $i = $redis->hlen('user');    
  87. //HEXISTS key field------查看哈希表key中,給定域field是否存在,存在返回1,不存在返回0    
  88. $g = $redis->hexists('user','jiang@58haha.cn');    
  89. //HINCRBY key field increment------爲哈希表key中的域field的值加上增量increment,能夠爲負    
  90. $k = $redis->hincrby('user','pv',5);    
  91. //HKEYS key------返回哈希表key中的全部域    
  92. $l = $redis->hkeys('user');    
  93. //HVALS key------返回哈希表key中全部域的值    
  94. $m = $redis->hvals('user');    
  95.     
  96. /****************List(列表)相關操做***************/    
  97. //LPUSH key value [value ...]------將數據插入列表的頭部    
  98. $redis->lpush('dbs','mongodb-3.2');    
  99. //RPUSH key value [value ...]------將數據插入列表的尾部    
  100. $redis->rpush('dbs','redis');    
  101. //LLEN key------獲取列表的長度    
  102. $c = $redis->llen('dbs');    
  103. //LPOP key------移除並返回列表的頭元素    
  104. $d = $redis->lpop('dbs');    
  105. //RPOP key------移除並返回列表的尾元素    
  106. $e = $redis->rpop('dbs');    
  107. //LRANGE key start stop------返回列表中指定區間內元素    
  108. $f = $redis->lrange('dbs',0,$redis->llen('dbs'));    
  109. $f = $redis->lrange('dbs',0,-1);    
  110. //LSET key index value------將列表下標爲index的元素的值設置爲value    
  111. $h = $redis->lset('dbs',1,'jiang');    
  112. //LTRIM key start stop------列表只保留指定區間內的元素    
  113. $i = $redis->ltrim('dbs',3,5);    
  114. //LINDEX key index------返回列表中下標爲index的元素    
  115. $e = $redis->lindex('dbs',$redis->llen('dbs')-1);    
  116. //LINSERT key BEFORE|AFTER pivot value------將值value插入到列表當中,位於值pivot以前或以後    
  117. $g = $redis->linsert('dbs',Redis::BEFORE,'mysql','mysqlmysql');    
  118. $g = $redis->linsert('dbs',Redis::AFTER,'redis','redisredis');    
  119. //RPOPLPUSH source destination------命令RPOPLPUSH在一個原子時間內執行如下兩個動做:1,將列表source中的最後一個元素(尾元素)彈出,並返回給客戶端;2,將source彈出的元素插入到列表destination,做爲destination列表的的頭元素    
  120. $k = $redis->rpoplpush('dbs1','dbs');    
  121.     
  122. /****************Set(集合)相關操做***************/    
  123. //SADD key member [member ...]------將一個或多個member元素加入到集合key當中,已經存在於集合的member元素將被忽略    
  124. $a = $redis->sadd('set', 'xingrongjiang');    
  125. //SREM key member [member ...]------移除集合key中的一個或多個member元素,不存在的member元素會被忽略    
  126. $b = $redis->srem('set','Array');    
  127. //SMEMBERS key------返回集合key中的全部成員    
  128. $c = $redis->smembers('set');    
  129. //SISMEMBER key member------判斷member元素是否集合key的成員    
  130. $d = $redis->sismember('set','liyang');    
  131. //SCARD key------返回集合key的基數(集合中元素的數量)    
  132. $e = $redis->scard('set');    
  133. //SMOVE source destination member------將member元素從source集合移動到destination集合    
  134. $f = $redis->smove('set','set1','xingrongjiang');    
  135. //SPOP key------移除並返回集合中的一個隨機元素    
  136. $g = $redis->spop('set');    
  137. //SRANDMEMBER key [count]------若是隻提供了key參數,那麼返回集合中的一個隨機元素;若是count爲正數,且小於集合基數,返回一個包含count個元素的數組,數組中的元素各不相同;若是count大於等於集合基數,返回整個集合;若是count爲負數,那麼命令返回一個數組,數組中的元素可能會重複出現屢次,而數組的長度爲count的絕對值    
  138. $h = $redis->srandmember('set',2);    
  139. //SINTER key [key ...]------返回一個集合的所有成員,該集合是全部給定集合的交集    
  140. $i = $redis->sinter('set');    
  141. //SINTERSTORE destination key [key ...]------相似於SINTER命令,它將結果保存到destination集合,而不是簡單地返回結果集    
  142. $j = $redis->sinterstore('haha','set');    
  143. //SUNION key [key ...]------返回一個集合的所有成員,該集合是全部給定集合的並集    
  144. $k = $redis->sunion('set','set1');    
  145. //SUNIONSTORE destination key [key ...]------相似於SUNION命令,它將結果保存到destination集合,而不是簡單地返回結果集    
  146. $l = $redis->sunionstore('haha1','haha','set1');    
  147. //SDIFF key [key ...]------返回一個集合的所有成員,該集合是全部給定集合之間的差集    
  148. $m = $redis->sdiff('set','set1');    
  149.   
  150. /****************有序集(Sorted set)相關操做***************/  
  151. //ZADD key score member------向名稱爲key的zset中添加元素member,score用於排序,若是該元素已經存在,則根據score更新該元素的順序  
  152. $a = $redis->zadd('site', 10, 'google.com');  
  153. $a = $redis->zadd('site', 9, 'baidu.com');  
  154. $a = $redis->zadd('site', 8, 'sina.com.cn');  
  155. //ZREM key member------刪除名稱爲key的zset中的元素member  
  156. // $b = $redis->zrem('site','sina.com.cn');  
  157. //ZCARD key------返回名稱爲key的zset的全部元素的個數  
  158. $c = $redis->zcard('site');  
  159. //ZCOUNT key min max------返回有序集key中,score值在min和max之間的成員的數量  
  160. $d = $redis->zcount('site',6,9);   
  161. //ZSCORE key member------返回有序集key中,成員member的score值  
  162. $e = $redis->zscore('site','baidu.com');  
  163. //ZINCRBY key increment member------爲有序集key的成員member的score值加上增量increment,返回值就是score加上increment的結果  
  164. $f = $redis->zincrby('site',10,'baidu.com');  
  165. //ZRANGE key start stop [WITHSCORES]------返回有序集key中,指定區間內的成員,其中成員的位置按score值遞增(從小到大)來排序  
  166. $j = $redis->zrange('site',0,-1);  
  167. $j = $redis->zrange('site',0,-1,true);  
  168. //ZREVRANGE key start stop [WITHSCORES]------返回有序集key中,指定區間內的成員,其中成員的位置按score值遞減(從大到小)來排列  
  169. $h = $redis->zrevrange('site',0,-1);  
  170. $h = $redis->zrevrange('site',0,-1,true);  
  171.   
  172. /****************Connection(鏈接)***************/    
  173. //AUTH password------密碼認證    
  174. $a = $redis->auth('123456');    
  175. //PING------查看鏈接狀態    
  176. $b = $redis->ping();    
  177. //SELECT index------切換到指定的數據庫,數據庫索引號index用數字值指定,以0做爲起始索引值,默認使用0號數據庫    
  178. $c = $redis->select(1);    
  179.     
  180. /****************Server(服務器)***************/    
  181. //TIME------返回當前服務器時間,一個包含兩個字符串的列表:第一個字符串是當前時間(以UNIX時間戳格式表示),而第二個字符串是當前這一秒鐘已經逝去的微秒數    
  182. $a = $redis->time();    
  183. //DBSIZE-----返回當前數據庫的key的數量    
  184. $b = $redis->dbsize();    
  185. //BGREWRITEAOF------使用aof來進行數據庫持久化    
  186. $c = $redis->bgrewriteaof();    
  187. //SAVE------將數據同步保存到磁盤    
  188. $d = $redis->save();    
  189. //BGSAVE------將數據異步保存到磁盤    
  190. $e = $redis->bgsave();    
  191. //LASTSAVE------返回上次成功將數據保存到磁盤的Unix時戳    
  192. $f = $redis->lastsave();    
  193. //SLAVEOF host port------選擇從服務器    
  194. $redis->slaveof('10.0.1.7', 6379);    
  195. //FLUSHALL------清空整個Redis服務器的數據(刪除全部數據庫的全部key)    
  196. $redis->flushall();    
  197. //FLUSHDB------清空當前數據庫中的全部key    
  198. $redis->flushdb();    
  199. //INFO [section]------返回關於 Redis 服務器的各類信息和統計數值    
  200. $g = $redis->info();   
相關文章
相關標籤/搜索