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

資訊專欄INFORMATION COLUMN

redis Q&A

saucxs / 665人閱讀

摘要:是什么基于內存有客戶端和服務器端非關系型數據庫應用場景是什么緩存隊列數據持久存儲如何安裝如何啟動如何關閉客戶端如何啟動下載解壓編譯安裝服務啟動注意這種方式啟動使用的是默認配置通過啟動參數告訴使用指定配置文件使用下面命令啟動服務關

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 客戶端啟動

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

如何創建一個Shell腳本來管理redis服務?如何讓redis服務能自啟動?

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

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

PHP如何安裝redis擴展?

下載 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 擴展如何操作 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); //無序的索引數組

操作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

相關文章

  • 大型網站性能監測、分析與優化常見問題Q&A

    摘要:后端和移動性能優化需要的時間較長,出成果較慢。大型網站上,一般通過什么方式監控性能的用戶端主要是真機監測監測,都屬于真實用戶監測。目前主要有以下兩種類型,,最終用戶性能監測。,,真實用戶性能監測。 showImg(https://segmentfault.com/img/bVAbWm);@tanwen110 (唐文),曾負責騰訊四大平臺之一網絡媒體平臺的整體運維、運營規劃工作;曾任百度...

    Lavender 評論0 收藏0

發表評論

0條評論

saucxs

|高級講師

TA的文章

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