當前位置:首頁 » 編程軟體 » linuxredis啟動腳本

linuxredis啟動腳本

發布時間: 2024-11-19 12:31:35

Ⅰ 在Redis中如何使用Lua腳本

Lua腳本在Redis中的應用主要分為兩種方式:eval和evalsha。其中,eval提供了一種靈活的方法來為Lua腳本提供額外的參數。使用 eval 命令,你可以指定 key 列表和參數列表,來執行Lua腳本。例如,當使用如下的 Lua 腳本來發送 "hello" 和一個值作為參數時,最終的返回結果將是 "hello redisworld"。如果Lua腳本較長,還可以通過在redis-cli中直接執行文件的方式執行腳本,這種方式不需要指定key的數量,只需使用逗號分隔key和參數,並注意逗號前後空格的正確放置。

另外,evalsha命令的使用也頗具特色。首先,你需要將Lua腳本載入到Redis服務端並獲取其SHA1校驗和,然後使用SHA1值執行對應的Lua腳本。這樣做的好處是避免了每次執行腳本時的開銷,因為腳本常駐於伺服器端,使得功能復用變得可能。

在實際操作中,Lua腳本的RedisAPI提供了方便的功能,如redis.call和redis.pcall函數,用於調用Redis操作。redis.call函數執行失敗時將停止腳本執行並返回錯誤,而redis.pcall則忽略錯誤繼續執行,選擇哪個函數使用應根據具體場景來決定。在獲取key和value時,可以通過 KEYS[1] 和 ARGV[1] 來實現。

開發過程中,Lua腳本的日誌輸出可以使用redis.log函數實現,但需控制日誌級別,以免影響性能。Redis 3.2新增的Lua Script Debugger功能則為復雜腳本的調試提供了便利。

在Spring Boot中集成Lua腳本,你可以通過RedisTemplate介面實現。為避免序列化問題,確保指定了正確的序列化方式。將Lua腳本放在指定目錄下,並利用RedisScript類的getSha1()方法獲取腳本摘要,隨後通過指定方法調用腳本。

盡管Lua腳本功能強大,但需注意其執行可能會阻塞伺服器,影響資料庫響應,尤其是在分片場景下。因此,應謹慎使用並確保腳本執行的高效和安全性。

Ⅱ Redis安裝說明

大多數企業基於Linux伺服器部署項目,官方無Windows安裝包,故文檔基於Linux系統指導Redis安裝。


選Linux版本CentOS 7。


Redis官網: redis.io/



單機安裝Redis



1.1 安裝Redis依賴


Redis基於C語言編寫,安裝前需裝GCC依賴。


1.2 上傳安裝包並解壓


將安裝包上傳至任意Linux目錄,如:/usr/upload/,解壓安裝包。


解壓後,進入redis目錄,運行編譯命令。若無錯誤,安裝完成。


1.3 啟動


Redis啟動方式多樣:



  • 1.3.1 默認啟動: 運行bin/redis-server,以前端模式啟動,窗口關閉即停止。

  • 1.3.2 指定配置啟動: 修改配置文件redis.conf,啟動Redis,使用後台方式。


常用Redis配置如下:


啟動服務,停止服務。


Redis客戶端


指定主機和埠啟動客戶端,不指定也可。


客戶端測試命令:



  • set和get: 設置、獲取數據。

  • del: 刪除指定key。

  • keys *: 查看所有key。

  • 清屏: 重置命令行界面。


Redis多資料庫


一個Redis實例包含多個資料庫,每個實例提供不同服務埠,資料庫間互不影響。


實例最多16個資料庫,客戶端選擇連接資料庫。


連接指定資料庫,查詢數據。選擇不存在資料庫報錯。


開機自啟


配置實現開機自啟。


新建系統服務文件,配置啟動腳本,重載服務。


使用命令操作Redis,配置讓其開機自啟。

Ⅲ redis前端啟動和後台啟動的區別

Part I. 直接啟動
下載
官網下載
安裝
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

Part II. 通過指定配置文件啟動
配置文件
可為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

其他啟停同 直接啟動 方式。配置文件是非常重要的配置工具,隨著使用的逐漸深入將顯得尤為重要,推薦在一開始就使用配置文件。
Part III. 使用Redis啟動腳本設置開機自啟動
啟動腳本
推薦在生產環境中使用啟動腳本方式啟動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_${REDISPORT}.pid
#配置文件位置,需要修改
CONF="/etc/redis/${REDISPORT}.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

熱點內容
Linux驅動與硬體 發布:2024-11-19 14:46:38 瀏覽:63
java設置背景圖片 發布:2024-11-19 14:42:50 瀏覽:573
用氣球做雞蛋解壓玩具 發布:2024-11-19 14:35:09 瀏覽:348
我的世界聯機俠優化伺服器 發布:2024-11-19 14:30:32 瀏覽:801
java運維工程師 發布:2024-11-19 14:21:25 瀏覽:770
linuxgmt 發布:2024-11-19 14:21:16 瀏覽:56
政治演算法學嗎 發布:2024-11-19 14:21:09 瀏覽:332
二維碼生成python 發布:2024-11-19 14:19:00 瀏覽:555
壓縮衣排名 發布:2024-11-19 14:18:49 瀏覽:453
安卓手機商務型哪個牌子好 發布:2024-11-19 13:43:04 瀏覽:584