redis的簡介、安裝

jopen 11年前發布 | 21K 次閱讀 Redis NoSQL數據庫

一、背景介紹:

redis的全稱:remote dictonary server(遠程字典服務器)

誰在使用redis:

國內使用redis的有:新浪微博、知乎、街旁,國外的有:GitHub 、StackOverflow 、Flicker、暴雪和Instagram

redis是做什么用的:

高性能鍵值對數據庫 ,開發語言為:C,可以用作緩存和隊列系統

redis支持的鍵值數據類型:

字符串類型、散列類型、列表類型、集合類型、有序集合類型

內存存儲和持久化:

redis支持異步將內存中的數據寫到硬盤上,同時不影響繼續服務

redis和memcached的區別和聯系:

聯系:二者均可作為緩存系統

區別:redis是單線程的,memcached是多線程的,故在多核處理器環境下,memcacahed的性能會更高一些,但是由于redis基本上都是在內存中操作,所以這些性能上的差別幾乎可以不計,redis在高級數據類型和持久化方面要比memcached好一些

二、安裝以及運行

2.1 在posix系統中安裝:

redis約定此版本號,次版本號為偶數的為穩定版本(2.4.3),為奇數的是非穩定版本(2.11.1)

源碼安裝:a、從redis官網下載redis的穩定版源代碼(redis-stable.tar.gz)

b、tar xzf redis-stable.tar.gz cd redis-stable

c、make d、make install (將編譯生成的可執行文件拷貝到/usr/local/bin下)

e、最好執行 make test 確認安裝的正確與否

2.2 redis的啟動和停止

編譯后生成的可執行文件有:

a、 redis-server redis服務器 b、redis-cli redis 命令行客戶端 (command line interface) c、redis-benchmark 性能測試工具

d、redis-check-aof aof文件修復工具 e、redis-check-dump rdb文件檢查工具

啟動的兩種方式:

(1)、直接啟動:redis-server --port=8888 # 在8888 端口進行監聽,默認的是6379

(2)、通過初始化腳本啟動(以ubuntu和debian發行版為例)

在源代碼的utils的文件redis_init_script為redis初始化腳本模板

a、將redis_init_script拷貝到/etc/init.d 重命名為redis_8888 ,同時修改該腳本文件中的監聽的端口由默認的6379更改為8888

b、建立如下兩個文件夾:

/etc/redis 在其中存放配置文件,源文件位于:源代碼目錄的頂層目錄的redis.conf

/var/redis/8888 存放持久化文件

c、修改/etc/redis/redis.conf 為8888.conf,修改其中的一下四項:

daemonize yes 以守護進程的模式運行;pidfile /var/run/redis_8888.pid 設置redis的pid文件的位置

port 8888 ;監聽端口 dir /var/redis/8888 持久化文件的存儲位置

/etc/init.d/redis_8888 start 啟動redis

然后執行使redis隨系統的啟動而啟動sudo update-rc.d redis_8888 defaults

停止redis的方法:

redis-cli -p 8888 shutdown 這和使用kill redis的進程Id是一樣的

redis-cli的使用說明:

redis-cli -h 192.168.1.129 -p 8888 redis-server位于192.168.1.129 端口在8888

> ping # 客戶端和服務端是否連接正常 返回pong為正常

命令返回值類型:

狀態恢復、錯誤回復、整數回復、字符串回復、多行字符串回復

keys * #顯示當前的所有鍵

redis-server的配置:可以在啟動的時候指定配置文件

redis-server /path/redis.conf

redis-server /path/redis.conf --loglevel warn #這是配置文件中的loglevel選項將被命令行中的值替換

使用config set 可以在不重啟redis服務的情況下更改 部分 配置,使用config get loglevel獲取指定配置項的值

多數據庫:

redis-server默認有16個數據庫,在redis.conf中配置,在redis-cli中可以使用select來進行切換

使用flushall會將這個redis實例中的所有數據庫中的所有數據清空,并且一個redis實例中的所有數據庫是同一個密碼

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!