摘要:是什么基于內存有客戶端和服務器端非關系型數據庫應用場景是什么緩存隊列數據持久存儲如何安裝如何啟動如何關閉客戶端如何啟動下載解壓編譯安裝服務啟動注意這種方式啟動使用的是默認配置通過啟動參數告訴使用指定配置文件使用下面命令啟動服務關
redis 是什么?
基于內存
有客戶端和服務器端
NoSQL非關系型數據庫
redis 應用場景是什么?緩存
隊列
數據持久存儲
redis 如何安裝?如何啟動?如何關閉?客戶端如何啟動?下載、解壓、編譯、安裝
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar -xzvf redis-4.0.1.tar.gz
cd redis-4.0.1
make
cd src
make install PREFIX=/usr/local/redis
redis 服務啟動
cd /usr/local/redis/bin
./redis-server
注意這種方式啟動redis 使用的是默認配置通過啟動參數告訴redis使用指定配置文件使用下面命令啟動
./redis-server redis.conf
redis 服務關閉
cd /usr/local/redis/bin
./redis-cli shutdown
./redis-cli -h 127.0.0.1 -p 6379 shutdown #指定端口和主機
redis 客戶端啟動
如何創建一個Shell腳本來管理redis服務?如何讓redis服務能自啟動?cd /usr/local/redis/bin
./redis-cli
退出客戶端 : quit
創建Shell腳本開啟、關閉、重啟redis服務
REDIS_SERVER="/usr/local/redis/bin/redis-server" REDIS_CONF="/usr/local/redis/etc/redis.conf" REDIS_CLIENT="/usr/local/redis/bin/redis-cli" start() { $REDIS_SERVER $REDIS_CONF } stop() { $REDIS_CLIENT shutdown } restart() { stop start } case "$1" in "start") start;; "stop") stop;; "restart") restart;; *) echo "nothing to do";; esac
添加服務作為自啟動
如何調整 redis.conf 配置?設置為后臺啟動: daemonize yes
五種常用數據結構String
key-value結構,key是字符串,value可存儲 字符串、整數、浮點數
List
key-value結構,但是value是個數組,里面存儲的值可以重復,但有序
Hash
key-value結構,但是value是個數組,里面存儲的值也是key-value結構,key是唯一的
Set
key-value結構,與List很相似,value也是個數組,里面存儲的值不能重復,但無序
Sorted set
PHP如何安裝redis擴展?key-value結構,但是value是個數組,里面存儲的值是score-value-rank結構,rank是隱藏值(由redis自動維護),value是唯一的,只可以修改score
下載 phpredis 插件
wget https://codeload.github.com/phpredis/phpredis/tar.gz/3.1.4
使用phpize工具生成configure文件
php安裝目錄/bin/phpize
生成Makefile文件
./configure --with-php-config=/usr/local/php/bin/php-config
編譯并安裝
make && make install
在php.ini中加載redis.so文件
使用 phpredis 擴展如何操作 redis ?extension = redis.so
注意:phpredis的類都是在根命名空間下,所以使用phpredis類時,盡量在開頭加/
連接
$redis = new Redis(); $redis -> connect("127.0.0.1", 6379);
操作String
$redis -> set("key1", "val1"); $val = $redis -> get("key1"); // "val1" $redis -> set("key1", 12); $redis -> incr("key1", 2); $val = $redis -> get("key1"); // "14"
操作List
$redis = new Redis(); $redis -> connect("127.0.0.1", 6379); $redis -> delete("list1"); $redis -> lPush("list1", "a"); $redis -> lPush("list1", "b"); $redis -> lPush("list1", "c"); $val = $redis -> rPop("list1");
操作Set
$redis = new Redis(); $redis -> connect("127.0.0.1", 6379); $redis -> delete("set1"); $redis -> sAdd("set1", "a"); $redis -> sAdd("set1", "b"); $redis -> sAdd("set1", "c"); $redis -> sAdd("set1", "c"); $len = $redis -> sCard("set1"); var_dump($len); //int(3) $arr = $redis -> sMembers("set1"); var_dump($arr); //無序的索引數組
操作Hash
$redis = new Redis(); $redis -> connect("127.0.0.1", 6379); $redis -> delete("person1"); $redis -> hSet("person1", "name", "mingming"); $redis -> hSet("person1", "age", 42); $redis -> hSet("person1", "gender", 1); $name = $redis -> hGet("person1", "name"); var_dump($name); //string(8) "mingming" $arr = $redis -> hMGet("person1", array("name","age")); var_dump($arr); //關聯數組
操作sort set
$redis = new Redis(); $redis -> connect("127.0.0.1", 6379); $redis -> delete("zset1"); $redis -> zAdd("zset1", 100, "mingming"); $redis -> zAdd("zset1", 90, "xiaohong"); $redis -> zAdd("zset1", 98, "xiaoming"); $val = $redis -> zRange("zset1", 0, -1); //低到高 $val = $redis -> zRevRange("zset1", 0, -1); //高到低 ##輸出的$val是索引數組redis 數據持久化
由于redis是基于內存來存儲數據的,所以redis一旦重啟或者系統崩潰,內存中的數據就會丟失,為了保證數據安全,所以需要把數據持久化存儲到硬盤
如果僅僅當做緩存來使用,可以禁用redis持久化功能
redis提供兩種持久化方法
1、快照持久化(默認開啟,無需配置):數據安全性低,性能好 2、AOF持久化(需要配置):數據安全性高,性能差
快照持久化適用場景
只使用于那些即使丟失一部分數據也不會造成問題的應用程序
AOF持久化適用場景
用于對數據安全性要求高的應用程序
AOF持久化的三種同步策略
appendfsync always 每次寫操作就進行同步(安全性最高) appendfsync everysec 每秒執行一次同步(推薦) appendfsync no 操作系統決定何時同步
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25580.html
摘要:后端和移動性能優化需要的時間較長,出成果較慢。大型網站上,一般通過什么方式監控性能的用戶端主要是真機監測監測,都屬于真實用戶監測。目前主要有以下兩種類型,,最終用戶性能監測。,,真實用戶性能監測。 showImg(https://segmentfault.com/img/bVAbWm);@tanwen110 (唐文),曾負責騰訊四大平臺之一網絡媒體平臺的整體運維、運營規劃工作;曾任百度...
閱讀 2425·2021-09-01 10:41
閱讀 1445·2019-08-30 14:12
閱讀 512·2019-08-29 12:32
閱讀 2862·2019-08-29 12:25
閱讀 2937·2019-08-28 18:30
閱讀 1710·2019-08-26 11:47
閱讀 983·2019-08-26 10:35
閱讀 2593·2019-08-23 18:06