1. 程式人生 > >redis連線與關閉

redis連線與關閉

hello, 今天學習過程中需要使用redis,在使用過程中遇到了一些問題,在這裡記錄下,也希望給遇到相同問題的人一點幫助, ok開始描述今天遇到的問題和解決辦法。

首頁redis在linux的安裝,請參考網站:點選開啟連結 

http://www.redis.net.cn/tutorial/3503.html 這個是網站上安裝的版本過於老舊,目前最新版是Redis 4.0.6,而我安裝的是3.2.8。因為我早就安裝了redis,剛好要用,我就沒有再去安裝最新版。

$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make

啟動什麼的上面給出的網站有講過,我就不再贅述了,我要說些網站上沒有的東西,一般啟動我們會以配置檔案(redis.conf)的方式來啟動, make之後在redis-3.2.8資料夾下會產生redis.conf檔案,這裡有幾個引數需要說明下

1、daemonize no:  Redis預設不是以守護程序的方式執行,可以通過該配置項修改,使用yes啟用守護程序。

2、port 6379 : 這個我就是埠號,如果不想用預設的可以修改這個引數

3、bind 127.0.0.1: 繫結ip 127.0.0.1 只能本機訪問,資料庫來說至少公司內網都應該可能訪問的,我改為0.0.0.0 表示所有網段都可以訪問

4、requirepass 123456:  設定Redis連線密碼,如果配置了連線密碼,客戶端在連線Redis時需要通過AUTH <password>命令提供密碼,預設關閉

更多引數請參考redis社群文件:點選開啟連結

如果我沒猜錯的話,現在你應該已經啟動了redis-server ,那麼想再次啟動你要怎麼做呢?  redis-server restart? 哈哈哈,我這樣試了下。

好吧,嚴肅點,redis提供了伺服器命令,向下面這樣,先關閉在重新啟動

[[email protected] src]# redis-cli  #開始客戶端連線
127.0.0.1:6379> auth 123456#auth 密碼登入
OK
127.0.0.1:6379> shutdown save    #shutdown 關閉服務  save
not connected> exit              # not connected 表示連線已經失去, exit 退出
[
[email protected]
src]# [[email protected] [[email protected] src]# ps -ef | grep redis- # ps 查詢程序 redis-server 真的關閉了 root      2782  2508  0 05:57 pts/0    00:00:00 grep --color=auto redis- [[email protected] src]# redis-server ../redis.conf  #重啟

好的,如果只說到這裡就太沒意思了,我們介紹下 utils 下的install_server.sh 這個是啟動redis系統服務的指令碼,系統服務怎麼理解呢? 果然你很懂作業系統自然明白,但是如果你不懂的話,看一下windows工作管理員的服務,這個服務是可以右鍵啟動和關閉的,install_server.sh 就是在linux系統上建立這個任務,然後可以通過systemctl stop/start命令啟動和關閉。


下面是執行指令碼, 裡面有幾個需要說明的步驟,在指令碼執行過程中會讓你選擇在啟動埠,配置檔案路徑,log檔案路徑,和資料檔案路徑,port可以用預設的,也可以指定,配置檔案路徑就用你自己的檔案路徑就好。log和資料檔案路徑隨意。

[[email protected] redis-3.2.8]# cd utils  
[[email protected] utils]# ls
build-static-symbols.tcl  hyperloglog            redis-sha1.rb
cluster_fail_time.tcl     install_server.sh      releasetools
corrupt_rdb.c             lru                    speed-regression.tcl
create-cluster            redis-copy.rb          whatisdoing.sh
generate-command-help.rb  redis_init_script
hashtable                 redis_init_script.tpl
[[email protected] utils]# ./install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] /opt/redis-3.2.8
Please select the redis log file name [/var/log/redis_6379.log] /opt/redis-3.2.8/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] /opt/redis-3.2.8/redis_data_6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /opt/redis-3.2.8
Log file       : /opt/redis-3.2.8/redis_6379.log
Data dir       : /opt/redis-3.2.8/redis_data_6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.ok^H
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
/var/run/redis_6379.pid exists, process is already running or crashed
Installation successful!
[[email protected] utils]# 
如果你想知道這個指令碼是如何建立系統服務的並且有shell能力的話,就可以讀讀install_server.sh這指令碼

其中有一句 /etc/init.d/redis_$REDIS_PORT start || die "Failed starting service..."  這句會在/etc/init.d/這個目錄下建立一個redis_加上埠號的檔案,這裡我用的6379, 所以他的檔名叫redis_6379, 如果你想修改什麼的話,可以通過修改這個檔案。因為我寫錯了配置檔案的路徑,導致啟動時使用了預設密碼,所以我去改了這個檔案的Config file    : /opt/redis-3.2.8/redis.conf  ,然後重啟啟動服務

[[email protected] init.d]# systemctl daemon-reload   #檔案發生了變化,需要重新載入
[[email protected] init.d]# systemctl start redis_6379  #重新啟動,恢復密碼驗證,說明修改起了作用了                           [[email protected] redis-3.2.8]# ./src/redis-cli
127.0.0.1:6379> get keys
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> 
# install_server.sh 指令碼內容
[[email protected] init.d]# vi redis_6379 
#!/bin/sh
#Configurations injected by install_server below....

EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli  
PIDFILE=/var/run/redis_6379.pid
CONF="/opt/redis-3.2.8"
REDISPORT="6379"
###############
# SysV Init Information
# chkconfig: - 58 74
# description: redis_6379 is the redis daemon.
### BEGIN INIT INFO
# Provides: redis_6379
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Should-Start: $syslog $named
# Should-Stop: $syslog $named
# Short-Description: start and stop redis_6379
# Description: Redis daemon
### END INIT INFO

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
            echo "$PIDFILE exists, process is already running or crashed"
        else
            echo "Starting Redis server..."
            $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
            echo "$PIDFILE does not exist, process is not running"
        else
            PID=$(cat $PIDFILE)
            echo "Stopping ..."
            $CLIEXEC -p $REDISPORT shutdown
            while [ -x /proc/${PID} ]
            do
                echo "Waiting for Redis to shutdown ..."
                sleep 1
            done
            echo "Redis stopped"
        fi
        ;;
    status)
        PID=$(cat $PIDFILE)
        if [ ! -x /proc/${PID} ]
        then
            echo 'Redis is not running'
        else
            echo "Redis is running ($PID)"
        fi
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Please use start, stop, restart or status as first argument"
        ;;
esac

如果看客老爺看到了這裡,那小的萬分感謝,自己回頭看了下,寫的什麼亂七八糟的東西。。哈哈哈,如果對你有那麼一點幫助的話,請幫忙點個贊,留個言啥的,畢竟自己玩好無聊,如果沒有任何幫助的,權當我自嗨了,有時候寫點部落格能讓自己坐的住,安穩的研究下技術還是挺開心的。


相關推薦

redis連線關閉

hello, 今天學習過程中需要使用redis,在使用過程中遇到了一些問題,在這裡記錄下,也希望給遇到相同問題的人一點幫助, ok開始描述今天遇到的問題和解決辦法。 首頁redis在linux的安裝,請參考網站:點選開啟連結  http://www.redis.net.cn

django-settings裡redis連線快取配置

# Django-redis的快取配置 CACHES = {   "default": {     "BACKEND": "django_redis.cache.RedisCache",     "LOCATION": "redis://12

GreenDao 連線關閉Sqlite資料庫

public class DBOperator { private static DBOperator dbInstance = new DBOperator(); private SQLiteDatabase db; private DaoMaster

Redis 啟動關閉初探

    新年元旦,公司為了保證安全,將測試伺服器斷電了,今天來到公司啟動伺服器之後發現 系統連不上redis。要完成兩個: 1 重啟redis  2. 重新設定密碼  3   關閉redis  ,重啟伺服器  看是否有資料儲存。       連線上伺服器之後敲入  命令 

redis啟動關閉

1 redis 啟動 進入src目錄下,執行./redis-server & (帶上&是在後臺啟動) 2 redis關閉 進入src目錄下,執行./redis-cli shutdown 3 遠端連線redis伺服器 ./redis-cli -h redis伺

4、Redis連線池的構建測試

首先我們在我們的專案中新建一個 RedisPool類 程式碼如下: package com.mmall.common; import com.mmall.util.PropertiesUtil; import redis.clients.jedis.Jedis; import re

PG fdw連線建立關閉

PG本地啟動psql, 並訪問外部表,然後退出 PG 與 remotePG的連線,隨著客戶端psql的退出而斷開。   PG本地啟動多個psql, 每個psql都訪問一次外部表 檢視remotePG 程序 [email protected]:~$

Redis學習筆記(2)-redis的啟動關閉

啟動redis 1. 直接啟動 $ redis-server # 預設埠6379 $ redis-server --port 6380 # 指定埠啟動 2. 通過初始化指令碼啟動 第一種啟動方式,在測試環境中用的比較多,實際在生產環境中,大多數

TCP連線的狀態關閉方式,及其對ServerClient的影響

1. TCP連線的狀態   首先介紹一下TCP連線建立與關閉過程中的狀態。TCP連線過程是狀態的轉換,促使狀態發生轉換的因素包括使用者呼叫、特定資料包以及超時等,具體狀態如下所示: CLOSED:初始狀態,表示沒有任何連線。 LISTEN:Server端的某個Socket正在監聽來自遠

window下redis連線斷開

下載地址 https://github.com/dmajkic/redis/downloads 安裝好之後會出現這樣的目錄 然後在cmd命令列進入到redis安裝目錄下中執行下面程式碼:

redis遠端連線密碼驗證

redis預設只允許本地訪問,要使redis可以遠端訪問可以修改redis.conf 開啟redis.conf檔案在NETWORK部分有說明 解決辦法:註釋掉bind 127.0.0.1可以使所有的ip訪問redis 若是想指定多個ip訪問,但並不是全部的ip訪問

redis基本開啟關閉 連線數查詢的linux命令

//檢視當前redis各個連線的ip以及其連線數  netstat -anp |grep 6379 |grep ESTA|awk '{print $5 }'|awk 'BEGIN{FS=":"}{print $1 }'|sort|uniq -c  //進入redis客戶端&nbs

ASP開啟關閉資料庫連線

<% '開啟資料庫連線sub OpenDataBase(conn)  set conn = Server.CreateObject("adodb.connection")  connstr="Provider=SQLOLEDB.1;Persist Security In

《java並發編程實戰》讀書筆記6--取消關閉

特殊 指令 1.5 搶占 用法 tor wid cto hook 這章的主要內容是關於如何使任務和線程安全,快速,可靠的停止下來。 7.1 任務取消 在Java中沒有一種安全的搶占方式來停止線程,但是可以使用一些協作機制,比如: 讓素數生成器運行1秒後取消(並不會剛好在運

Oracle 11gR2 RAC集群服務啟動關閉命令匯總

listener oracle database 網上好多帖子都是啟動和關閉相關服務的命令# su – oracle$ crs_start–all --啟動所有的crs服務$ crs_stop–all --停止所有的crs服務$ crsctl start crs --啟動crs服務$ crsctl

linux下oracle11g R2的啟動關閉監聽、數據庫

source app var copy time lac started success let 一、啟動監聽與數據庫 1、啟動監聽: [html] view plain copy [[email protected]/* */ oracle]# s

CentOS7上Redis安裝配置

mage make 註意 cnblogs 服務 download cli nbsp 所有 一、redis安裝 1、wget命令下載   wget http://download.redis.io/releases/redis-3.2.9.tar.gz 2、tar命令解壓  

php開啟關閉錯誤提示

php.ini target spa style 目錄 http ubuntu linux系統 spl linux系統下: 1. 打開php.ini文件。 以我的ubuntu為例,這個文件在: /etc/php5/apache2 目錄下。 2. 搜索並修改下行,把Of

redis 訂閱發布

mat 技術 ima 工作 clas image 代碼 定位 屬性 PUBLISH,SUBSCRIBE,等命令實現訂閱與發布 訂閱/發布到頻道 訂閱/發布到模式 頻道的訂閱與信息發送 訂閱subscribe,可以讓客戶端訂閱任意數量的頻道, 每當有新信息

Oracle 數據庫啟動關閉 各種方式詳解整理

歸檔模式 tro 需求 acl 提交 管理操作 edi 存在 datafile 概述 只有具備sysdba和sysoper系統特權的用戶才能啟動和關閉數據庫。 在啟動數據庫之前應該啟動監聽程序,否則就不能利用命令方式來管理數據庫,包括啟動和關閉數據庫。 雖然數據庫正常運行,