主頁 > 知識庫 > PHP操作Redis常用命令的實例詳解

PHP操作Redis常用命令的實例詳解

熱門標簽:400電話鄭州申請 OMG地圖標注app 黔江400電話如何辦理 招標自動語音外呼系統(tǒng) 地圖標注視頻廣告入駐 ai電話機器人加盟代理 電銷機器人便宜的有嗎 中原區(qū)電話機器人價格 gps 地圖標注軟件

redis常用命令有:

1、連接操作命令;
2、持久化命令;
3、遠程服務(wù)控制命令;
4、對value操作命令;5、string命令;
6、list命令;
7、set命令;
8、hash命令等等。

Redis 常用命令

登錄 redis-cli -p 5566 -a password
檢查key是否存在 EXISTS key
搜索某關(guān)鍵字 KSYS *4
返回一個Key所影響的vsl的類型 TYPE key

下面通過代碼看下PHP操作Redis命令,代碼如下所示:

//連接本地的 Redis 服務(wù) 
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('123456');

/*********************Key(鍵)*********************/
//DEL key [key ...]------刪除給定的一個或多個key 
$a = $redis->del(array('xrj','ly','fjf'));
//KEYS pattern------查找所有符合給定模式pattern的key
$b = $redis->keys('*');
//RANDOMKEY------從當前數(shù)據(jù)庫中隨機返回(不刪除)一個key
$c = $redis->randomkey();
//TTL key------以秒為單位,返回給定key的剩余生存時間(TTL, time to live)
//PTTL key------以毫秒為單位,返回給定key的剩余生存時間
$d = $redis->ttl('bbs');
//EXISTS key------檢查給定key是否存在,存在,返回1,否則返回0
$e = $redis->exists('email');
//MOVE key db------將當前數(shù)據(jù)庫的key移動到給定的數(shù)據(jù)庫db當中
$f = $redis->move('email',1);
$redis->select(1);
$f = $redis->keys('*');
$f = $redis->move('email',0);
//RENAME key newkey------將key改名為newkey
$g = $redis->rename('email','e-eamil.com');
$g = $redis->rename('e-eamil.com','eamil');
//RENAMENX key newkey------當且僅當newkey不存在時,將key改名為newkey
$h = $redis->renamenx('bbs','bbs1');
//TYPE key------返回key所儲存的值的類型
$i = $redis->type('pageview');
//EXPIRE key seconds------給key設(shè)置生存時間,當key過期時,它會被自動刪除
//PEXPIRE key milliseconds------以毫秒為單位設(shè)置key的生存時間
//EXPIREAT key timestamp------命令接受的時間參數(shù)是UNIX時間戳,key存活到一個unix時間戳?xí)r間
//PERSIST key------移除給定key的生存時間,轉(zhuǎn)換成一個不帶生存時間,永不過期的key
//SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]------返回或保存給定列表、集合、有序集合key中經(jīng)過排序的元素  

/****************String(字符串)相關(guān)操作***************/
//SET key value------將字符串值value關(guān)聯(lián)到key,會覆蓋
$a = $redis->set('email','jiang@58haha.cn');
//SETNX key value------將key的值設(shè)為value,當且僅當key不存在的時候,成功返回1,不成功返回0 
$b = $redis->setnx('email','jiang@58haha.cn');
//SETEX key seconds value------將值value關(guān)聯(lián)到key,并將key的生存時間設(shè)為seconds(以秒為單位)
$c = $redis->setex('name',10086,'江');
//PSETEX key milliseconds value------命令和SETEX命令相似,它以毫秒為單位設(shè)置key的生存時間 
$d = $redis->psetex('jiang',90000,'哈哈哈');
//MSET key value [key value ...]------同時設(shè)置一個或多個key-value對
$e = $redis->mset(array('ly' => 'liyang', 'fjf' => 'fengjingfeng'));
//MSETNX key value [key value ...]------同時設(shè)置一個或多個key-value對,當且僅當所給定key都不存在 
$f = $redis->msetnx(array('ly' => 'liyang', 'xrj'=>'xingrongjiang', 'fjf' => 'fengjingfeng'));
//APPEND key value------如果key已經(jīng)存在并且是一個字符串,APPEND命令將value追加到key原來的值的末尾。如果key不存在,APPEND就像執(zhí)行SET key value一樣 
$g = $redis->append('ly','love');
//GET key------返回key所關(guān)聯(lián)的字符串值,如果key不存在那么返回特殊值nil,GET只能用于處理字符串值 
$h = $redis->get('ly');
//MGET key [key ...]------返回所有(一個或多個)給定key的值,如果給定的key里面有某個key不存在,那么這個key返回特殊值nil,命令永不失敗 
$i = $redis->mget(array('email','ly','fjf'));
//GETRANGE key start end------返回key中字符串值的子字符串,字符串的截取范圍由start和end兩個偏移量決定(包括start和end在內(nèi)),負數(shù)偏移量表示從字符串最后開始計數(shù),-1表示最后一個字符,-2表示倒數(shù)第二個 
$j = $redis->getrange('email',0,-1); //從第一個到最后一個,相當于直接get
//GETSET key value------將給定key的值設(shè)為value,并返回key的舊值(old value)
$k = $redis->getset('email','jiangzunshao@163.com');
//STRLEN key------返回key所儲存的字符串值的長度
$l = $redis->strlen('email');
//DECR key------將key中儲存的數(shù)字值減一,如果key不存在,那么key的值會先被初始化為0,然后再執(zhí)行DECR操作 
$m = $redis->decr('pageview');
//INCR key------將key中儲存的數(shù)字值增一,如果key不存在,那么key的值會先被初始化為0,然后再執(zhí)行INCR操作 
$n = $redis->incr('pageview1');
//DECRBY key decrement------將key所儲存的值減去減量decrement(可以為負值) 
$o = $redis->decrby('pageview',3);
//INCRBY key increment------將key所儲存的值加上增量increment(可以為負值) 
$p = $redis->incrby('pageview',6);

/****************Hash(哈希表)相關(guān)操作***************/
//HSET key field value------將哈希表key中的域field的值設(shè)為value,新建返回1,覆蓋返回0
$a = $redis->hset("user","jiang@58haha.cn","{'name':'jiangzunshao','age':25,'work':'php','city':'BeiJing'}"); 
//HSETNX key field value------將哈希表key中的域field的值設(shè)置為value,當且僅當域field不存在的時候. 設(shè)置成功,返回1。如果已經(jīng)存在且沒有操作被執(zhí)行,返回0 
$b = $redis->hsetnx("user","jiang@58haha.cn","{'name':'jiangzunshao','age':25,'work':'php','city':'BeiJing'}"); 
//HGET key field------返回哈希表key中給定域field的值
$c = $redis->hget("user","jiang@58haha.cn");
//HMSET key field value [field value ...]------同時將多個field-value(域-值)對設(shè)置到哈希表 key中 
$d = $redis->hmset('user',array('name'=>'jiangzunshao', 'age' => 20));
//HMGET key field [field ...]------返回哈希表 key中,一個或多個給定域的值
$f = $redis->hmGet('user', array('name', 'age'));
//HGETALL key------返回哈希表key中,所有的域和值
$g = $redis->hgetall('user');
//HDEL key field [field ...]------刪除哈希表key中的一個或多個指定域,不存在的域?qū)⒈缓雎?
$h = $redis->hdel('user','age');
//HLEN key------返回哈希表key中域的數(shù)量
$i = $redis->hlen('user');
//HEXISTS key field------查看哈希表key中,給定域field是否存在,存在返回1,不存在返回0
$g = $redis->hexists('user','jiang@58haha.cn');
//HINCRBY key field increment------為哈希表key中的域field的值加上增量increment,可以為負
$k = $redis->hincrby('user','pv',5);
//HKEYS key------返回哈希表key中的所有域
$l = $redis->hkeys('user');
//HVALS key------返回哈希表key中所有域的值
$m = $redis->hvals('user');

/****************List(列表)相關(guān)操作***************/
//LPUSH key value [value ...]------將數(shù)據(jù)插入列表的頭部
$redis->lpush('dbs','mongodb-3.2');
//RPUSH key value [value ...]------將數(shù)據(jù)插入列表的尾部
$redis->rpush('dbs','redis');
//LLEN key------獲取列表的長度
$c = $redis->llen('dbs');
//LPOP key------移除并返回列表的頭元素
$d = $redis->lpop('dbs');
//RPOP key------移除并返回列表的尾元素
$e = $redis->rpop('dbs');
//LRANGE key start stop------返回列表中指定區(qū)間內(nèi)元素
$f = $redis->lrange('dbs',0,$redis->llen('dbs'));
$f = $redis->lrange('dbs',0,-1);
//LSET key index value------將列表下標為index的元素的值設(shè)置為value
$h = $redis->lset('dbs',1,'jiang');
//LTRIM key start stop------列表只保留指定區(qū)間內(nèi)的元素
$i = $redis->ltrim('dbs',3,5);
//LINDEX key index------返回列表中下標為index的元素
$e = $redis->lindex('dbs',$redis->llen('dbs')-1); 
//LINSERT key BEFORE|AFTER pivot value------將值value插入到列表當中,位于值pivot之前或之后
$g = $redis->linsert('dbs',Redis::BEFORE,'mysql','mysqlmysql');
$g = $redis->linsert('dbs',Redis::AFTER,'redis','redisredis'); 
//RPOPLPUSH source destination------命令RPOPLPUSH在一個原子時間內(nèi)執(zhí)行以下兩個動作:1,將列表source中的最后一個元素(尾元素)彈出,并返回給客戶端;2,將source彈出的元素插入到列表destination,作為destination列表的的頭元素 
$k = $redis->rpoplpush('dbs1','dbs');
 
/****************Set(集合)相關(guān)操作***************/
//SADD key member [member ...]------將一個或多個member元素加入到集合key當中,已經(jīng)存在于集合的member元素將被忽略 
$a = $redis->sadd('set', 'xingrongjiang');
//SREM key member [member ...]------移除集合key中的一個或多個member元素,不存在的member元素會被忽略 
$b = $redis->srem('set','Array');
//SMEMBERS key------返回集合key中的所有成員
$c = $redis->smembers('set');
//SISMEMBER key member------判斷member元素是否集合key的成員 
$d = $redis->sismember('set','liyang');
//SCARD key------返回集合key的基數(shù)(集合中元素的數(shù)量) 
$e = $redis->scard('set');
//SMOVE source destination member------將member元素從source集合移動到destination集合
$f = $redis->smove('set','set1','xingrongjiang');
//SPOP key------移除并返回集合中的一個隨機元素
$g = $redis->spop('set');
//SRANDMEMBER key [count]------如果只提供了key參數(shù),那么返回集合中的一個隨機元素;如果count為正數(shù),且小于集合基數(shù),返回一個包含count個元素的數(shù)組,數(shù)組中的元素各不相同;如果count大于等于集合基數(shù),返回整個集合;如果count為負數(shù),那么命令返回一個數(shù)組,數(shù)組中的元素可能會重復(fù)出現(xiàn)多次,而數(shù)組的長度為count的絕對值 
$h = $redis->srandmember('set',2);
//SINTER key [key ...]------返回一個集合的全部成員,該集合是所有給定集合的交集
$i = $redis->sinter('set'); 
//SINTERSTORE destination key [key ...]------類似于SINTER命令,它將結(jié)果保存到destination集合,而不是簡單地返回結(jié)果集 
$j = $redis->sinterstore('haha','set');
//SUNION key [key ...]------返回一個集合的全部成員,該集合是所有給定集合的并集
$k = $redis->sunion('set','set1');
//SUNIONSTORE destination key [key ...]------類似于SUNION命令,它將結(jié)果保存到destination集合,而不是簡單地返回結(jié)果集 
$l = $redis->sunionstore('haha1','haha','set1');
//SDIFF key [key ...]------返回一個集合的全部成員,該集合是所有給定集合之間的差集
$m = $redis->sdiff('set','set1');
 
/****************有序集(Sorted set)相關(guān)操作***************/
//ZADD key score member------向名稱為key的zset中添加元素member,score用于排序,如果該元素已經(jīng)存在,則根據(jù)score更新該元素的順序 
$a = $redis->zadd('site', 10, 'google.com');
$a = $redis->zadd('site', 9, 'baidu.com');
$a = $redis->zadd('site', 8, 'sina.com.cn');
//ZREM key member------刪除名稱為key的zset中的元素member
// $b = $redis->zrem('site','sina.com.cn');
//ZCARD key------返回名稱為key的zset的所有元素的個數(shù)
$c = $redis->zcard('site');
//ZCOUNT key min max------返回有序集key中,score值在min和max之間的成員的數(shù)量
$d = $redis->zcount('site',6,9);
//ZSCORE key member------返回有序集key中,成員member的score值
$e = $redis->zscore('site','baidu.com');
//ZINCRBY key increment member------為有序集key的成員member的score值加上增量increment,返回值就是score加上increment的結(jié)果 
$f = $redis->zincrby('site',10,'baidu.com');
//ZRANGE key start stop [WITHSCORES]------返回有序集key中,指定區(qū)間內(nèi)的成員,其中成員的位置按score值遞增(從小到大)來排序 
$j = $redis->zrange('site',0,-1);
$j = $redis->zrange('site',0,-1,true);
//ZREVRANGE key start stop [WITHSCORES]------返回有序集key中,指定區(qū)間內(nèi)的成員,其中成員的位置按score值遞減(從大到小)來排列 
$h = $redis->zrevrange('site',0,-1);
$h = $redis->zrevrange('site',0,-1,true);

/****************Connection(連接)***************/
//AUTH password------密碼認證
$a = $redis->auth('123456');
//PING------查看連接狀態(tài)
$b = $redis->ping();
//SELECT index------切換到指定的數(shù)據(jù)庫,數(shù)據(jù)庫索引號index用數(shù)字值指定,以0作為起始索引值,默認使用0號數(shù)據(jù)庫 
$c = $redis->select(1);
 
/****************Server(服務(wù)器)***************/
//TIME------返回當前服務(wù)器時間,一個包含兩個字符串的列表:第一個字符串是當前時間(以UNIX時間戳格式表示),而第二個字符串是當前這一秒鐘已經(jīng)逝去的微秒數(shù) 
$a = $redis->time();
//DBSIZE-----返回當前數(shù)據(jù)庫的key的數(shù)量
$b = $redis->dbsize();
//BGREWRITEAOF------使用aof來進行數(shù)據(jù)庫持久化
$c = $redis->bgrewriteaof();
//SAVE------將數(shù)據(jù)同步保存到磁盤
$d = $redis->save();
//BGSAVE------將數(shù)據(jù)異步保存到磁盤 
$e = $redis->bgsave();
//LASTSAVE------返回上次成功將數(shù)據(jù)保存到磁盤的Unix時戳
$f = $redis->lastsave();
//SLAVEOF host port------選擇從服務(wù)器
$redis->slaveof('10.0.1.7', 6379);
//FLUSHALL------清空整個Redis服務(wù)器的數(shù)據(jù)(刪除所有數(shù)據(jù)庫的所有key)
$redis->flushall();
//FLUSHDB------清空當前數(shù)據(jù)庫中的所有key
$redis->flushdb();
//INFO [section]------返回關(guān)于 Redis 服務(wù)器的各種信息和統(tǒng)計數(shù)值
$g = $redis->info();

到此這篇關(guān)于PHP操作Redis常用命令的實例詳解的文章就介紹到這了,更多相關(guān)PHP操作Redis命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解PHP解決守護進程Redis假死
  • thinkphp5redis緩存新增方法實例講解
  • PHP使用Redis隊列執(zhí)行定時任務(wù)實例講解
  • php基于redis的分布式鎖實例詳解
  • Thinkphp5+Redis實現(xiàn)商品秒殺代碼實例講解
  • php在linux環(huán)境中如何使用redis詳解
  • php操作redis命令及代碼實例大全
  • php之redis短線重連案例講解

標簽:池州 日照 哈密 北京 阿里 那曲 濟源 孝感

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PHP操作Redis常用命令的實例詳解》,本文關(guān)鍵詞  PHP,操作,Redis,常用,命令,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP操作Redis常用命令的實例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP操作Redis常用命令的實例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章