摘要:是什么基于內(nèi)存有客戶端和服務(wù)器端非關(guān)系型數(shù)據(jù)庫應(yīng)用場景是什么緩存隊(duì)列數(shù)據(jù)持久存儲如何安裝如何啟動如何關(guān)閉客戶端如何啟動下載解壓編譯安裝服務(wù)啟動注意這種方式啟動使用的是默認(rèn)配置通過啟動參數(shù)告訴使用指定配置文件使用下面命令啟動服務(wù)關(guān)
redis 是什么?
基于內(nèi)存
有客戶端和服務(wù)器端
NoSQL非關(guān)系型數(shù)據(jù)庫
redis 應(yīng)用場景是什么?緩存
隊(duì)列
數(shù)據(jù)持久存儲
redis 如何安裝?如何啟動?如何關(guān)閉?客戶端如何啟動?下載、解壓、編譯、安裝
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 服務(wù)啟動
cd /usr/local/redis/bin
./redis-server
注意這種方式啟動redis 使用的是默認(rèn)配置通過啟動參數(shù)告訴redis使用指定配置文件使用下面命令啟動
./redis-server redis.conf
redis 服務(wù)關(guān)閉
cd /usr/local/redis/bin
./redis-cli shutdown
./redis-cli -h 127.0.0.1 -p 6379 shutdown #指定端口和主機(jī)
redis 客戶端啟動
如何創(chuàng)建一個Shell腳本來管理redis服務(wù)?如何讓redis服務(wù)能自啟動?cd /usr/local/redis/bin
./redis-cli
退出客戶端 : quit
創(chuàng)建Shell腳本開啟、關(guān)閉、重啟redis服務(wù)
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
添加服務(wù)作為自啟動
如何調(diào)整 redis.conf 配置?設(shè)置為后臺啟動: daemonize yes
五種常用數(shù)據(jù)結(jié)構(gòu)String
key-value結(jié)構(gòu),key是字符串,value可存儲 字符串、整數(shù)、浮點(diǎn)數(shù)
List
key-value結(jié)構(gòu),但是value是個數(shù)組,里面存儲的值可以重復(fù),但有序
Hash
key-value結(jié)構(gòu),但是value是個數(shù)組,里面存儲的值也是key-value結(jié)構(gòu),key是唯一的
Set
key-value結(jié)構(gòu),與List很相似,value也是個數(shù)組,里面存儲的值不能重復(fù),但無序
Sorted set
PHP如何安裝redis擴(kuò)展?key-value結(jié)構(gòu),但是value是個數(shù)組,里面存儲的值是score-value-rank結(jié)構(gòu),rank是隱藏值(由redis自動維護(hù)),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 擴(kuò)展如何操作 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); //無序的索引數(shù)組
操作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); //關(guān)聯(lián)數(shù)組
操作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是索引數(shù)組redis 數(shù)據(jù)持久化
由于redis是基于內(nèi)存來存儲數(shù)據(jù)的,所以redis一旦重啟或者系統(tǒng)崩潰,內(nèi)存中的數(shù)據(jù)就會丟失,為了保證數(shù)據(jù)安全,所以需要把數(shù)據(jù)持久化存儲到硬盤
如果僅僅當(dāng)做緩存來使用,可以禁用redis持久化功能
redis提供兩種持久化方法
1、快照持久化(默認(rèn)開啟,無需配置):數(shù)據(jù)安全性低,性能好 2、AOF持久化(需要配置):數(shù)據(jù)安全性高,性能差
快照持久化適用場景
只使用于那些即使丟失一部分?jǐn)?shù)據(jù)也不會造成問題的應(yīng)用程序
AOF持久化適用場景
用于對數(shù)據(jù)安全性要求高的應(yīng)用程序
AOF持久化的三種同步策略
appendfsync always 每次寫操作就進(jìn)行同步(安全性最高) appendfsync everysec 每秒執(zhí)行一次同步(推薦) appendfsync no 操作系統(tǒng)決定何時同步
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25580.html
摘要:后端和移動性能優(yōu)化需要的時間較長,出成果較慢。大型網(wǎng)站上,一般通過什么方式監(jiān)控性能的用戶端主要是真機(jī)監(jiān)測監(jiān)測,都屬于真實(shí)用戶監(jiān)測。目前主要有以下兩種類型,,最終用戶性能監(jiān)測。,,真實(shí)用戶性能監(jiān)測。 showImg(https://segmentfault.com/img/bVAbWm);@tanwen110 (唐文),曾負(fù)責(zé)騰訊四大平臺之一網(wǎng)絡(luò)媒體平臺的整體運(yùn)維、運(yùn)營規(guī)劃工作;曾任百度...
閱讀 2438·2021-09-01 10:41
閱讀 1452·2019-08-30 14:12
閱讀 521·2019-08-29 12:32
閱讀 2869·2019-08-29 12:25
閱讀 2945·2019-08-28 18:30
閱讀 1716·2019-08-26 11:47
閱讀 994·2019-08-26 10:35
閱讀 2602·2019-08-23 18:06