Redis入門

来源:http://www.cnblogs.com/ivictor/archive/2016/02/03/5179990.html
-Advertisement-
Play Games

一、安裝 目前,官方最新穩定版本為3.0.7 # wget http://download.redis.io/releases/redis-3.0.7.tar.gz # cd /usr/local/ # tar xvf /root/redis-3.0.7.tar.gz # cd redis-3.0.


一、安裝

目前,官方最新穩定版本為3.0.7

# wget http://download.redis.io/releases/redis-3.0.7.tar.gz

# cd /usr/local/

# tar xvf /root/redis-3.0.7.tar.gz

# cd redis-3.0.7/

# make

 

二、啟動

安裝完成後,在src目錄下會生成啟動執行程式,包括redis-server,redis-sentinel, redis-benchmark,redis-cli等

# src/redis-server 

該啟動方式是前臺啟動,如果關閉當前終端,則redis會自動關閉

正如登錄信息開頭Warning所顯示的,這種方式啟動沒有使用配置文件,所以並不推薦。預設監聽6379埠

24649:C 03 Feb 16:32:30.242 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
24649:M 03 Feb 16:32:30.243 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.0.7 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 24649
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

24649:M 03 Feb 16:32:30.246 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
24649:M 03 Feb 16:32:30.246 # Server started, Redis version 3.0.7
24649:M 03 Feb 16:32:30.246 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
24649:M 03 Feb 16:32:30.246 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
24649:M 03 Feb 16:32:30.247 * The server is now ready to accept connections on port 6379

 

關於redis-server的更多用法,可通過redis-server -h查看

# src/redis-server -h

Usage: ./redis-server [/path/to/redis.conf] [options]
       ./redis-server - (read config from stdin)
       ./redis-server -v or --version
       ./redis-server -h or --help
       ./redis-server --test-memory <megabytes>

Examples:
       ./redis-server (run the server with default conf)
       ./redis-server /etc/redis/6379.conf
       ./redis-server --port 7777
       ./redis-server --port 7777 --slaveof 127.0.0.1 8888
       ./redis-server /etc/myredis.conf --loglevel verbose

Sentinel mode:
       ./redis-server /etc/sentinel.conf --sentinel

 

配置文件中常用參數如下:

daemonize:是否以後臺daemon方式運行,預設是前臺方式運行,即預設值為no

pidfile:pid文件位置,預設為:/run/redis.pid

port:監聽的埠號,預設為6379

bind 127.0.0.1 配置監聽網卡的ip,針對有多個網卡的場景

logfile:log文件位置,預設值為stdout,使用“標準輸出”,預設後臺模式會輸出到/dev/null

loglevel notice ,指定日誌記錄級別,Redis總共支持四個級別:debug,verbose,notice,warning,預設為notice

     Debug:記錄很多信息,用於開發和測試

     Verbose:很多精簡的有用信息,不像debug會記錄那麼多

     Notice:普通的verbose,常用於生產環境

     Warning:只有非常重要或者嚴重的信息會記錄到日誌

 

三、設置開機自啟動

 將啟動腳本複製到/etc/init.d目錄下

# cp /usr/local/redis-3.0.7/utils/redis_init_script /etc/init.d/redisd

編輯啟動腳本

# vim /etc/init.d/redisd

#!/bin/sh
# chkconfig:2345 90 10
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/redis-3.0.7/src/redis-server
#EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/redis-3.0.7/src/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

 

主要做了兩項修改,

一、添加了# chkconfig:2345 90 10

二、指定了redis-server和redis-cli的位置

EXEC=/usr/local/redis-3.0.7/src/redis-server

CLIEXEC=/usr/local/redis-3.0.7/src/redis-cli

註意:

PIDFILE=/var/run/redis_${REDISPORT}.pid指定了pid文件的位置

CONF="/etc/redis/${REDISPORT}.conf"指定了配置文件的位置

 

創建配置文件

# cd /etc/

# mkdir redis

# cp /usr/local/redis-3.0.7/redis.conf redis/6379.conf

 

修改配置文件

主要是設置redis以後臺進程運行和pid文件的位置

daemonize yes
pidfile /var/run/redis_6379.pid

 

以服務方式啟動redis

# /etc/init.d/redisd start

Starting Redis server...

# ps -ef |grep redis

root      29836      1  0 18:23 ?        00:00:00 /usr/local/redis-3.0.7/src/redis-server *:6379
root      29846   4110  0 18:23 pts/0    00:00:00 grep --color=auto redis

 

客戶端連接測試

# cd /usr/local/redis-3.0.7/src/

# ./redis-cli 

127.0.0.1:6379> set 123 hello
OK
127.0.0.1:6379> get 123
"hello"

預設連接到localhost 6379,查看伺服器信息,可通過info命令。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 兩年前,蘋果為現代的使用者完全改變了設計語言。對於設計者來說,這使得他們更容易關註動畫和功能而不是其他的細枝末節。 我已經被問過很多次怎樣開始設計或者是有什麼捷徑可以成為更好的設計師。雖然沒有銀彈,然而有很多的技巧和規則設計將影響您普遍設計的方式。 即使你設計一個完全不同的平臺上,如果您已經瞭解了在
  • 年前一直在加班趕項目,斷更一月有餘,新年將至,在這裡祝各位看官新年快樂,大吉大利 在這裡推薦兩本好書,是博主準備年假期間學習的,斟酌了許久,買了這兩本,確實是非常好的進階書,推薦給大家 1.OC高級編程:一本面向iOS中級開發者的書,這本書只有三章,分別是記憶體管理,Block和GCD。但是書中詳細的
  • 一些不常見確又很實用的代碼塊。 1.精確獲取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕) public static double getScreenPhysicalSize(Activity ctx) { DisplayMetrics dm = new DisplayMetrics(); ctx
  • case 這個關鍵詞,用的地方不少~大部分的用途都通過以下的方式去應用 DECLARE @i INT = 3 SELECT CASE @i WHEN 1 THEN 1 WHEN 2 THEN 2 WHEN 3 THEN 3 END AS 測試1; 測試1 ----------- 3 DECLARE
  • 原文出處:http://www.cnblogs.com/jianglan/archive/2011/08/22/2149834.html .cs文件的主要代碼: public class User_List //這個類是對應是Extjs的Grid的field裡面的,field有幾項就寫幾項 { pu
  • Query #41 Memory Clerk Usage -- Memory Clerk Usage for instance -- Look for high value for CACHESTORE_SQLCP (Ad-hoc query plans) SELECT TOP(10) mc.[ty
  • 正如文章《通用的業務編號規則設計實現(附源碼)》 文章里需要一個多實例和線程安全的序列化生成器,在SQL Server 2012+ 版本 有一個通過.NET程式集的序列號transact-sql 函數 http://msdn.microsoft.com/zh-cn/library/ff878091.
  • 上一篇,我們對hive的數據導出,以及集群Hive數據的遷移進行描述。瞭解到了基本的hive導出操作。這裡,我們將對hive的CLI及JDBC這些實用性很強的兩個方便進行簡要的介紹。 下麵我們開始介紹hive的CLI和JDBC。
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...