phpredis擴展的使用命令全集

字號+ 編輯: 种花家 修訂: H波 來源: 简书 2023-09-07 我要說兩句(0)

這篇文章講解php的redis庫操作命令, 不是redis原生那個命令行。

$redis = new \Redis();
$redis->connect('127.0.0.1', 6379, 1); //短鏈接,本地host,耑口爲6379,超過1秒放棄
$redis->open('127.0.0.1', 6379, 1); //短鏈接(同上)
$redis->pconnect('127.0.0.1', 6379, 1); //長鏈接,本地host,耑口爲6379,超過1秒放棄
$redis->popen('127.0.0.1', 6379, 1); //長鏈接(同上)
$redis->auth('password'); //登錄驗证密碼,返回【true | false】
$redis->select(0); //選擇redis庫, 0~15 共16個庫
$redis->close(); //釋放資源
$redis->ping(); //檢查是否還在連接中, [+pong]
$redis->ttl('key'); //查看失效時間[-1 | timestamps]
$redis->persist('key'); //移除失效時間[ 1 | 0]
$redis->sort('key', [$array]); //返回或保存給定列表、集合、有序集合key中經過排序的元素,$array爲參數limit等!【配合$array很強大】 [array|false]

/**
 * 運算類歸類
 */
$redis->expire('key', 10); //設置失效時間[true | false]
$redis->move('key', 15); //把當前庫中的key移動到15庫中[0|1]

//string
$redis->strlen('key'); //獲取當前key的長度
$redis->append('key', 'string'); //把string追加到key現有的value中[追加後的個數]
$redis->incr('key'); //自增1,如不存在key, 賦值爲1(只對整數有效, 存儲以10進制64位,redis中爲str)[new_num | false]
$redis->incrby('key', $num); //自增$num, 不存在爲賦值, 值需爲整數[new_num | false]
$redis->decr('key'); //自減1,[new_num | false]
$redis->decrby('key', $num); //自減$num,[ new_num | false]
$redis->setex('key', 10, 'value'); //key=value,有效期爲10秒[true]

//list
$redis->llen('key'); //返回列表key的長度, 不存在key返回0, [ len | 0]

//set
$redis->scard('key'); //返回集合key的基數(集合中元素的數量)。[num | 0]
$redis->sMove('key1', 'key2', 'member'); //移動,將member元素從key1集合移動到key2集合。[1 | 0]

//Zset
$redis->zcard('key'); //返回集合key的基數(集合中元素的數量)。[num | 0]
$redis->zcount('key', 0, -1); //返回有序集key中,score值在min和max之間(默認包括score值等於min或max)的成員。[num | 0]

//hash
$redis->hexists('key', 'field'); //查看hash中是否存在field, [1 | 0]
$redis->hincrby('key', 'field', $int_num); //爲哈希表key中的域field的值加上量(+|-)num, [new_num | false]
$redis->hlen('key'); //返回哈希表key中域的數量。[ num | 0]

/**
 * 服務
 * Server
 */
$redis->dbSize(); //返回當前庫中的key的個數
$redis->flushAll(); //清空整個redis[總true]
$redis->flushDB(); //清空當前redis庫[總true]
$redis->save(); //同步??把數據存儲到磁盤-dump.rdb[true]
$redis->bgsave(); //異步??把數據存儲到磁盤-dump.rdb[true]
$redis->info(); //查詢當前redis的狀態 [verson:2.4.5....]
$redis->lastSave(); //上次存儲時間key的時間[timestamp]

$redis->watch('key', 'keyn'); //監視一個(或多個) key ,如果在事務執行之前這個(或這些) key 被其他命令所改動,那麽事務將被打斷 [true]
$redis->unwatch('key', 'keyn'); //取消監視一個(或多個) key [true]
$redis->multi(Redis::MULTI); //開啓事務,事務塊内的多條命令會按照先後順序被放進一個隊列當中,最後由 EXEC 命令在一個原子時間内執行。
$redis->multi(Redis::PIPELINE); //開啓管道,事務塊内的多條命令會按照先後順序被放進一個隊列當中,最後由 EXEC 命令在一個原子時間内執行。
$redis->exec(); //執行所有事務塊内的命令,;【事務塊内所有命令的返回值,按命令執行的先後順序排列,當操作被打斷時,返回空值 false】

/**
 * String
 */
$redis->setOption(Redis::OPT_PREFIX, 'hf_'); //設置表前綴爲hf_
$redis->set('key', 1); //設置key=aa value=1 [true]
$redis->mset($arr); //設置一個或多個鍵值[true]
$redis->setnx('key', 'value'); //key=value, key存在返回false[|true]
$redis->get('key'); //獲取key [value]
$redis->mget($arr); //(string|arr), 返回所查詢鍵的值
$redis->del($key_arr); //(string|arr)刪除key,支持數組批量刪除【返回刪除個數】
$redis->delete($key_str, $key2, $key3); //刪除keys, [del_num]
$redis->getset('old_key', 'new_value'); //先獲得key的值,然後重新賦值, [old_value | false]

/**
 * Hash
 */
$redis->hset('key', 'field', 'value'); //增,改,將哈希表key中的域field的值設爲value, 不存在創建, 存在就覆蓋【1 | 0】
$redis->hget('key', 'field'); //查,取值【value|false】
$arr  = array('one' => 1, 2, 3);
$arr2 = array('one', 0, 1);
$redis->hmset('key', $arr); //增,改,設置多值$arr爲(索引|關聯)數組, $arr[key]=field,  [ true ]
$redis->hmget('key', $arr2); //查,獲取指定下標的field,[$arr | false]
$redis->hgetall('key'); //查,返回哈希表key中的所有域和值。[當key不存在時,返回一個空表]
$redis->hkeys('key'); //查,返回哈希表key中的所有域。[當key不存在時,返回一個空表]
$redis->hvals('key'); //查,返回哈希表key中的所有值。[當key不存在時,返回一個空表]
$redis->hdel('key', $arr2); //刪,刪除指定下標的field, 不存在的域將被忽略, [num | false]

/**
 * List
 */
$redis->lpush('key', 'value'); //增,只能將一個值value插入到列表key的表頭,不存在就創建 [列表的長度 |false]
$redis->rpush('key', 'value'); //增,只能將一個值value插入到列表key的表尾 [列表的長度 |false]
$redis->lInsert('key', Redis::AFTER, 'value', 'new_value'); //增,將值value插入到列表key當中,位於值value之前或之後。[new_len | false]
$redis->lpushx('key', 'value'); //增,只能將一個值value插入到列表key的表頭,不存在不創建 [列表的長度 |false]
$redis->rpushx('key', 'value'); //增,只能將一個值value插入到列表key的表尾,不存在不創建 [列表的長度 |false]
$redis->lpop('key'); //刪,移除並返回列表key的頭元素, [被刪元素 | false]
$redis->rpop('key'); //刪,移除並返回列表key的尾元素, [被刪元素 | false]
$redis->lrem('key', 'value', 0); //刪,根據參數count的值,移除列表中與參數value相等的元素count=(0|-n表頭向尾|+n表尾向頭移除n個value)  [被移除的數量 | 0]
$redis->ltrim('key', start, end); //刪,列表修剪,保留(start, end)之間的值 [true|false]
$redis->lset('key', index, 'new_v'); //改,從表頭數,將列表key下標爲第index的元素的值爲new_v,  [true | false]
$redis->lindex('key', index); //查,返回列表key中,下標爲index的元素[value|false]
$redis->lrange('key', 0, -1); //查,(start, stop|0, -1)返回列表key中指定區間内的元素,區間以偏移量start和stop指定。[array|false]

/**
 * Set
 */
$redis->sadd('key', 'value1', 'value2', 'valuen'); //增,改,將一個或多個member元素加入到集合key當中,已經存在於集合的member元素將被忽略。[insert_num]
$redis->srem('key', 'value1', 'value2', 'valuen'); //刪,移除集合key中的一個或多個member元素,不存在的member元素會被忽略 [del_num | false]
$redis->smembers('key'); //查,返回集合key中的所有成員 [array | '']
$redis->sismember('key', 'member'); //判斷member元素是否是集合key的成員 [1 | 0]
$redis->spop('key'); //刪,移除並返回集合中的一個隨機元素 [member | false]
$redis->srandmember('key'); //查,返回集合中的一個隨機元素 [member | false]
$redis->sinter('key1', 'key2', 'keyn'); //查,返回所有給定集合的交集 [array | false]
$redis->sunion('key1', 'key2', 'keyn'); //查,返回所有給定集合的並集 [array | false]
$redis->sdiff('key1', 'key2', 'keyn'); //查,返回所有給定集合的差集 [array | false]

/**
 * Zset
 */
$redis->zAdd('key', $score1, $member1, $scoreN, $memberN); //增,改,將一個或多個member元素及其score值加入到有序集key當中。[num | 0]
$redis->zrem('key', 'member1', 'membern'); //刪,移除有序集key中的一個或多個成員,不存在的成員將被忽略。[del_num | 0]
$redis->zscore('key', 'member'); //查, 通過值反拿權 [num | null]
$redis->zrange('key', $start, $stop); //查,通過(score從小到大)【排序名次範圍】拿member值,返回有序集key中,【指定區間内】的成員 [array | null]
$redis->zrevrange('key', $start, $stop); //查,通過(score從大到小)【排序名次範圍】拿member值,返回有序集key中,【指定區間内】的成員 [array | null]
$redis->zrangebyscore('key', $min, $max[, $config]); //查,通過scroe權範圍拿member值,返回有序集key中,指定區間内的(從小到大排)成員[array | null]
$redis->zrevrangebyscore('key', $max, $min[, $config]); //查,通過scroe權範圍拿member值,返回有序集key中,指定區間内的(從大到小排)成員[array | null]
$redis->zrank('key', 'member'); //查,通過member值查(score從小到大)排名結果中的【member排序名次】[order | null]
$redis->zrevrank('key', 'member'); //查,通過member值查(score從大到小)排名結果中的【member排序名次】[order | null]
$redis->ZINTERSTORE(); //交集
$redis->ZUNIONSTORE(); //差集


閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

  • redis-server啓動時報錯FATAL CONFIG FILE ERROR

  • centos7環境下用yum安裝redis報錯沒有redis安裝包

  • php7和php8安裝php-redis擴展

我要說說
網上賓友點評