redis之(十三)redis的三種啟動方式

2021-09-22 17:33:56 字數 2387 閱讀 7698

tar zxvf redis-2.8.9.tar.gz

cd redis-2.8.9

#直接make 編譯

make

#可使用root使用者執行`make install`,將可執行檔案拷貝到/usr/local/bin目錄下。這樣就可以直接敲名字執行程式了。

make install

#加上`&`號使redis以後台程式方式執行

./redis-server &

#檢測後台程序是否存在

ps -ef |grep redis

#檢測6379埠是否在監聽

netstat -lntp | grep 6379

#使用`redis-cli`客戶端檢測連線是否正常

./redis-cli

127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> set key "hello world" ok 127.0.0.1:6379> get key "hello world"

#使用客戶端

redis-cli shutdown

#因為redis可以妥善處理sigterm訊號,所以直接kill -9也是可以的

kill -9 pid

可為redis服務啟動指定配置檔案,配置檔案redis.conf在redis根目錄下。

#修改daemonize為yes,即預設以後台程式方式執行(還記得前面手動使用&號強制後台執行嗎)。

daemonize no

#可修改預設監聽埠

port 6379

#修改生成預設日誌檔案位置

logfile "/home/futeng/logs/redis.log" #配置持久化檔案存放位置 dir /home/futeng/data/redisdata

redis-server ./redis.conf

#如果更改了埠,使用`redis-cli`客戶端連線時,也需要指定埠,例如:

redis-cli -p 6380

其他啟停同 直接啟動 方式。配置檔案是非常重要的配置工具,隨著使用的逐漸深入將顯得尤為重要,推薦在一開始就使用配置檔案。

推薦在生產環境中使用啟動指令碼方式啟動redis服務。啟動指令碼redis_init_script位於位於redis的/utils/目錄下。

#大致瀏覽下該啟動指令碼,發現redis習慣性用監聽的埠名作為配置檔案等命名,我們後面也遵循這個約定。

#redis伺服器監聽的埠

redisport=6379

#服務端所處位置,在make install後預設存放與`/usr/local/bin/redis-server`,如果未make install則需要修改該路徑,下同。

exec=/usr/local/bin/redis-server

#客戶端位置

cliexec=/usr/local/bin/redis-cli

#redis的pid檔案位置

pidfile=/var/run/redis_$.pid #配置檔案位置,需要修改 conf="/etc/redis/$.conf"

1. 根據啟動指令碼要求,將修改好的配置檔案以埠為名複製乙份到指定目錄。需使用root使用者。

mkdir /etc/redis

cp redis.conf /etc/redis/6379.conf

2. 將啟動指令碼複製到/etc/init.d目錄下,本例將啟動指令碼命名為redisd(通常都以d結尾表示是後台自啟動服務)。

cp redis_init_script /etc/init.d/redisd
3.  設定為開機自啟動

此處直接配置開啟自啟動chkconfig redisd on將報錯誤:service redisd does not support chkconfig

參照 此篇文章 ,在啟動指令碼開頭新增如下兩行注釋以修改其執行級別:

#!/bin/sh

# chkconfig: 2345 90 10

# description: redis is a persistent key-value database

#

再設定即可成功。

#設定為開機自啟動伺服器

chkconfig redisd on

#開啟服務

service redisd start

#關閉服務

service redisd stop

Redis(十三)redis事務

redis作為乙個非關係型資料庫,其也是有事務操作的。redis 事務可以一次執行多個命令,並且帶有以下三個重要的保證 1 批量操作在傳送 exec 命令前被放入佇列快取。2 收到 exec 命令後進入事務執行,事務中任意命令執行失敗,其餘的命令依然被執行。3 在事務執行過程,其他客戶端提交的命令請...

三 redis的高階功能之redis事務

redis單條執行命令是具有原子性的,但是如果遇到多條執行命令的時候,redis如何保證原子性,這時候redis就提供了事務的功能。redis事務是把一組命令一起執行。它會將執行命令先放入到queue中按順序執行,且不會收到其他客戶端的請求的影響,且事務不能巢狀。開啟事務 multi 需要執行的命令...

Redis 高階(三) 之 Redis 效能測試

redis 效能測試是通過同時執行多個命令實現的 語法 redis 效能測試的基本命令如下 redis benchmark option option value 注意 該命令是在 redis 的目錄下執行的,而不是 redis 客戶端的內部指令。例項 以下例項同時執行 10000 個請求來檢測效能...