国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Redis & PHP 簡易備忘

defcon / 350人閱讀

摘要:以下對安裝客戶端基本操作擴展及中的基本接口備忘。這里的只起到提供配置文件模板的作用。當多個元素的相同時,按照其的字典順序排序。注意,需要事先運行。

以下對 Redis 安裝、Redis 客戶端基本操作、PHP-Redis 擴展及 PHP 中 Redis 的基本接口備忘。本機環境為 Mac。

Redis 安裝

首先需要下載 Redis,訪問以下網址,選擇 Stable 版本下載:

https://redis.io/download

進入解壓后的文件夾,執行編譯:

make

之后執行:

make install

這一步會將 Redis 常用的命令如:redis-server, redis-cli 等放入 /usr/local/bin 中,相當于添加了環境變量。

Redis 基本操作 Redis 服務端啟動

Redis 分為客戶端和服務器端,首先我們需要啟動服務端,執行:

redis-server

此時命令行會停滯在 Redis 服務啟動提示信息中,表示現在 Redis 服務端正在運行,可以使用 Ctrl + Z 中止。

但是,我們更希望 Redis 可以作為一種服務運行于后臺,此時需要修改 redis.conf 文件:

cd /your/path/to/redis/redis.conf

將 128 行的 daemonize 值修改為 yes,所在行數可能因版本而有所不同:

daemonize no  =>  daemonize yes

然后重新啟動 Redis:

redis-server /your/path/to/redis/redis.conf

注意,即使修改了 redis.conf,也需要在 redis-server 后加上這一參數,否則仍然會以默認配置啟動。這里的 redis.conf 只起到提供配置文件模板的作用。

這之后可以查看當前運行的進程以檢查 Redis 服務的啟動情況:

ps aux|grep redis-server

停止服務可以執行:

redis-cli shutdown
Redis 客戶端

執行以下指令進入客戶端:

redis-cli

當我們修改了默認端口號,或需要連接到遠程時,可以使用:

redis-cli -h 127.0.0.7 -p 6379
Redis 數據類型

Redis 中有五種數據類型:

string:鍵值對形式,鍵為字符串類型,而值可以為字符串或數字;

list:在兩頭進行插入或刪除,可以模擬隊列和棧;

set:集合,不同元素的值均不相同;

hash:通過鍵可以所索引到一組鍵值對,可以類比二維關聯數組;

zset:有序集合,以 ( score, value ) 的方式組織,并會按照 score 值進行排序;

Redis 客戶端基本操作

以下只備忘簡單指令,其他命令可以查閱:

https://redis.io/commands

以下指令需要進入 redis-cli 之后執行:

1. string
get key1                // 獲取 key1 鍵對應的值,若不存在會輸出 nil
set key1 value1         // 設置 key1 => value1 鍵值對
set key2 123            // 設置 key2 為 123
incr key2               // 使 key2 對應的值自增 1
decr key2               // 使 key2 對應的值自減 1
incrby key2 10          // key2 對應的值加 10
decrby key2 10          // key2 對應的值減 10
2. list
lpush listA A           // 向 listA 這一隊列的左邊加入 A
rpush listA B           // 向 listA 這一隊列的右邊加入 B
lpop listA              // 從 listA 這一隊列的左邊彈出第一個值
rpop listA              // 向 listA 這一隊列的右邊彈出第一個值
llen listA              // 得到 listA 的長度
3. set
sadd setA A             // 向 setA 這一集合中增加 A
scard setA              // 得到 setA 這一集合中的長度
sismember setA A        // 判斷 A 是否為 setA 集合中元素
srem setA A             // 從 setA 集合中移除 A 元素
4. hash
hset hashA key1 A       // 向 hashA 中添加鍵值對 key1 => A
hget hashA key1         // 得到 hashA 中鍵 key1 對應的值
hlen hashA              // 得到 hashA 含有的鍵值對數
hmget hashA key1 key2   // 獲得 hashA 中多個鍵對應的值
5. zset
zadd zsetA 10.1 val1    //  向 zsetA 中加入 score 為 10.1 的 val1
zrange zsetA 0 4        // 獲得 zsetA 中從小到大排序第 0 到第 4 的元素

// 獲得 zsetA 中從小到大排序第 0 到第 4 的元素,輸出時附帶其對應的 score
zrange zsetA 0 4 withscores 

注意,zset 中的排序按照 score 從小到大升序進行,第 0 為最小值。當多個元素的 score 相同時,按照其 value 的字典順序排序。

PHP-Redis 擴展

我們使用 phpizeconfigure 進行擴展安裝,可以通過 phpize -v 檢查是否已經安裝過 phpize,若沒有,可以使用以下方式進行安裝:

yum install php-devel
下載擴展包

根據需要下載相應的擴展源碼包:

PHP5: https://codeload.github.com/phpredis/phpredis/zip/develop
PHP7: https://codeload.github.com/phpredis/phpredis/zip/php7
編譯擴展

解壓后進入文件夾中,執行:

phpize

然后執行:

./configure -with-php-config=/your/path/to/php/bin/php-config

后面的路徑會使得在之后的 make install 中將編譯后的 redis.so 放到擴展指定的目錄,省去了手動移動的步驟。

之后執行:

make

以及:

make install

使用 MAMP 的同學在編譯遇到問題時可以參見參考:MAMP環境下安裝php擴展

添加擴展配置

最后,需要在配置文件添加擴展配置,可以使用以下指令查看 php.ini 文件的路徑:

php --ini

之后編輯 php.ini 文件,添加:

extension=redis.so

這時便可以在 echo phpinfo(); 中看到 Redis 擴展的信息了。

注意:若之前沒有使用 -with-php-config 參數,則需要在 make install 后,將生成的 modules/redis.so 移動到擴展所在目錄中,該目錄可以在 php.ini 中查看到:

extension_dir = /path/to/extensions/
PHP 中使用 Redis

以下只羅列基礎的使用方式,詳細請參見 PHP-Redis 文檔

PHP 中使用 Redis 的方式和通過 redis-cli 使用的方式基本相同。注意,需要事先運行 redis-server

連接 Redis
$redis = new Redis();
$redis->connect("localhost");
string
$redis->set("key1", "value1");  // 設置鍵值對
$redis->get("key1");            // 獲取值

$redis->set("number1", 123);
$redis->incr("number1");        // 自增
$redis->decrBy("number1", 100); // 減法
$redis->get("number1");
list
$redis->lPush("listA", "A");   // 向左側加入值
$redis->lPush("listA", "B");   
$redis->lPush("listA", "C");

// 從右側彈出值,由此模擬隊列
$redis->rPop("listA");  
set
$redis->sAdd("setA", "A");
$redis->sAdd("setA", "B");
$redis->sAdd("setA", "C");
$redis->sAdd("setA", "A");
$redis->sCard("setA");
$redis->sMembers("setA");  // 輸出集合的全部元素
hash
$redis->hSet("hashA", "name", "iname");
$redis->hSet("hashA", "age", "age");

// 同時設置多個值
$redis->hMset("hashA", [
    "gender" => "male",
    "salary" => 12000
]);
$redis->hGet("hashA", "salary");

// 獲得多個值
$redis->hMGet("hashA", ["name", "gender"]);
zset
$redis->zAdd("ZSetA", 12, "A");
$redis->zAdd("ZSetA", 10.3, "B");
$redis->zAdd("ZSetA", 11.9, "C");
$redis->zAdd("ZSetA", 9.99, "D");
$redis->zRange("ZSetA", 0, 2);

// 輸出全部值
$redis->zRange("ZSetA", 0, -1);

// 從大到小降序輸出
$redis->zRevRange("ZSetA", 0, -1);

參考

redis 五種數據類型的使用場景 - CSDN

redis---安裝和開啟和關閉 - CSDN

MAMP PRO安裝PHP擴展的方法

MAMP環境下安裝php擴展 - CSDN

Linux下Redis安裝與PHP擴展(PHP7適用) - CSDN

Mac環境下安裝Redis - 簡書

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22499.html

相關文章

  • PHP 7.0 & 7.1 部分新增特性備忘

    摘要:以下分別備忘版本的部分新增特性。而且,在生成器沒有輸出完全時,使用會報錯。報錯定義常量數組多聲明數組解構運行時將部分指令轉為機器碼。對于計算密集型應用有較高的性能提升。 以下分別備忘 PHP 7.0 & 7.1 版本的部分新增特性。 PHP 7.0 ?? 運算符 $foo = null; $bar = $foo ?? 123; // 相當于 $bar = isset($bar) ? ...

    philadelphia 評論0 收藏0
  • PHP基礎

    摘要:分別為適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。設計模式五適配器模式適配器模式將某個對象的接生成器和協程的實現在這篇文章中,作者針對那些比較難以理解的概念,以一個更為通俗的方式去講明白。。 PHP 源碼注解 PHP 的詳細源碼注解 PHP 字符串操作整理 一些有關字符串的常用操作。 Redis 常見七種使用場景 (PHP 實戰) 這篇文章主要介紹利用 R...

    HtmlCssJs 評論0 收藏0
  • 運用Python完成簡易短信驗證碼解決

      本文關鍵闡述了運用Python完成簡易短信驗證碼解決,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,必須的朋友可以學習一下  前言  我們做獲取數據時,太快或瀏覽經常,或一瀏覽便給彈出來短信驗證碼,隨后蚌珠了~  今天小編就給大家來個簡易解決短信驗證碼的辦法  自然環境控制模塊  這兒需要使用一個ddddocr模塊,這也是他人開源系統提前準備好的一樣東西,簡單又好用,可是精準度差一丟...

    89542767 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<