成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

redis Q&A

saucxs / 668人閱讀

摘要:是什么基于內(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 客戶端啟動

cd /usr/local/redis/bin
./redis-cli
退出客戶端 : quit

如何創(chuàng)建一個Shell腳本來管理redis服務(wù)?如何讓redis服務(wù)能自啟動?

創(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

key-value結(jié)構(gòu),但是value是個數(shù)組,里面存儲的值是score-value-rank結(jié)構(gòu),rank是隱藏值(由redis自動維護(hù)),value是唯一的,只可以修改score

PHP如何安裝redis擴(kuò)展?

下載 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文件

extension = redis.so

使用 phpredis 擴(kuò)展如何操作 redis ?

注意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

相關(guān)文章

  • 大型網(wǎng)站性能監(jiān)測、分析與優(yōu)化常見問題Q&A

    摘要:后端和移動性能優(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ī)劃工作;曾任百度...

    Lavender 評論0 收藏0

發(fā)表評論

0條評論

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