NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)
NoSQL(NoSQL = Not Only SQL),它指的是非關系型的數據庫。隨著互聯網web2.0網站的興起,傳統的關系數據庫在應付web2.0網站,特別是超大規模和高并發的SNS類型的web2.0純動態網站已經顯的力不從心,暴露了很多難以克服的問題,而非關系型的數據庫則由于其本身的特點得到了非常迅速的發展。
?
NoSQL的特點:
特點一:
是以key-value形式存儲,和傳統的關系型數據庫不一樣,不一定遵循傳統數據庫的一些基本要求,比如說遵循SQL標準、ACID屬性、表結構等等,這類數據庫主要有以下特點:非關系型的、分布式的、開源的、水平可擴展的。
?
特點二:
處理超大量的數據比Mysql等有優勢。
運行在便宜的PC服務器集群上。
擊碎了性能瓶頸。(MySQL的時候需要很多優化,但是NoSQL不需要,性能非常高)
?
特點三(性能方面):
對數據高并發讀寫。(對MySQL進行上萬次讀的請求可能頂得住,但是如果對MySQL進行上萬次的寫的時候,硬盤IO要求就比較高,效率就比較低下,但是NoSQL就比較方面。)
對海量數據的高效率存儲和訪問。
對數據的高可擴展和高可用性。(NoSQL可以增加一個服務器節點,使用NoSQL來做分布式比較簡單,因為沒有固定的表結構,所以更改比較方便)。
?
Redis的介紹:
Redis是一個開源的,先進的key-value存儲。它通常被稱為數據結構服務器,因為鍵可以包含字符串,哈希,鏈表,集合和有序集合。
Redis是一個key-value存儲系統。它支持存儲的value類型很多,包括string(字符串)、list(鏈表)、set(集合)、zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集和并集及更豐富的操作,Redis支持各種不同方式的序列。為了保證效率,都是緩存在內存中的,它也可以周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件。
?
Redis的使用場合:
在新浪微博Redis的部署場景很多,大概分為如下2種:
應用程序直接訪問Redis數據庫。
應用程序直接訪問Redis,只有當Redis訪問失敗時才訪問MySQL
?
把大象裝冰箱的過程:
???Redis數據庫提供多中靈活的數據結構和數據操作,為不同的大象構建不同的冰箱。
?
Redis具體的適用場景:
取最新N個數據庫的操作
排行榜應用,取TOP N操作
需要精確設定過期時間的應用
計數器應用
Uniq操作,獲取某段時間所有數據排重值
實時系統,反垃圾系統。
Pub/Sub構建實時消息系統(Redis獨有的發布和訂閱系統)
構建隊列系統
緩存。
?
Redis的安裝與部署
第一步:
Redis的官方下載站是:http://redis.io/download
最好使用Stable版本(穩定版本)。
?
第二步:編譯源程序
tar zxvf redis-2.8.19.tar.gz
cd redis-2.8.19
make
cd src && make install??(注意權限問題)
網上安裝方式: |
$ wget http://download.redis.io/releases/redis-2.8.19.tar.gz $ tar xzf redis-2.8.19.tar.gz $ cd redis-2.8.19 $ make |
?
?
步驟三:
移動文件,便于管理:
mkdir –p /usr/local/redis/bin
mkdir –p /usr/local/redis/etc
mv /home/toto/redis/redis-2.8.19/redis.conf? /usr/local/redis/etc/
cd src
mv mkreleasehdr.sh redis-benchmarkredis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin/???(也就是說移動的是所有的可執行的文件)
?
第四步:啟動Redis服務:
/usr/local/redis/bin/redis-server?(或者到/usr/local/redis/bin目錄下,執行:./redis-server)
可以指定配置文件:
/usr/local/redis/etc/redis.conf (可以在./redis-server后面加上這個配置文件)
Redis服務端的默認連接端口是6379?(mongodb的端口號是:27017和28017端口)
?
第五步:
客戶端連接:/usr/local/redis/bin/redis-cli?(cli是client的縮寫)。
退出客戶端的方式是通過exit或者通過quit的方式。
?
步驟六:
停止Redis實例
我們可以使用/usr/local/redis/bin/redis-cli然后再
shutdown
也可以使用pkill redis-server??或者kill -9來實現。
?
Redis的配置:
daemonize:如果需要在后臺運行,把該項改為yes |
pidfile:配置多個pid的地址默認在/var/run/redis.pid |
bind:綁定ip,設置后只接受來自該ip的請求 |
port:監聽端口,默認為6379 |
timeout:設置客戶端連接時的超時時間,單位為秒 |
loglevel:分為4級,debug、verbose、notice、warning |
logfile:配置log文件地址 |
databases:設置數據庫的個數,默認使用的數據庫為0 |
save:設置redis進行數據庫鏡像的頻率。(備份數據) |
rdbcompression:在進行鏡像備份時,是否進行壓縮 |
dbfilename:鏡像備份文件的文件名 |
dir:數據庫鏡像備份的文件放置路徑 |
slaveof:設置數據庫為其它數據庫的從數據庫。 |
masterauth:主數據庫連接需要的密碼驗證。 |
requirepass:設置登錄時需要使用的密碼。 |
maxclients:限制同時連接的客戶數量。 |
maxmemory:設置redis能夠使用的最大內存。 |
appendonly:開啟append only模式。 |
appendfsync:設置對appendonly.aof文件進行同步的頻率。 |
vm-enabled:是否開啟虛擬內存支持。 |
vm-swap-file:設置虛擬內存的交換文件路徑。 |
vm-max-memory:設置redis使用的最大物理內存大小。 |
vm-page-size:設置虛擬內存的頁的大小 |
vm-pages:設置交換文件的總的page數量 |
vm-max-threads設置VMIO同時使用的線程數量。 |
glueoutputbuf:把小的輸出緩存存放在一起。 |
hash-max-zipmap-entries:設置hash的臨界值 |
activerehashing:重新hash |
查看進程的方式:ps –ef | grep “redis”
查看端口的方式:netstat -tunpl | grep 6379
-------------------------------------------------------------------------------------------------------------------------------------------------------
redis服務器安裝(其他方式)
用源碼工程來編譯安裝
1/ 到官網下載最新stable版
2/ 解壓源碼并進入目錄?
?cd?/home/tuzq/software
mkdir?redis-src
tar -zxvf redis-3.2.5.tar.gz -C ./redis-src/
/home/tuzq/software/redis-src/redis-3.2.5
3/?make
如果報錯提示缺少gcc,則安裝gcc :? yum install -y gcc
如果報錯提示:Newer version ofjemalloc required
則在make時加參數:make MALLOC=libc
?
4/ 安裝redis,指定安裝目錄,如 /usr/local/redis
make PREFIX=/usr/local/redis install
?
6/ 拷貝一份配置文件到安裝目錄下
切換到源碼目錄,里面有一份配置文件redis.conf,然后將其拷貝到安裝路徑下
cp redis.conf /usr/local/redis/
?
7/ 啟動redis
cd /usr/local/redis
bin/redis-server redis.conf ? (如果想后臺進程運行,修改:daemonize yes)?
8 連接redis
另開一個xshell,然后:
#cd /usr/local/redis/
[root@hadoop redis]# bin/redis-cli?
127.0.0.1:6379>
注意:為了讓機器能夠遠程連接服務器上的redis,需要將redis.conf中的bind值改成訪問機器的ip地址,不要用127.0.0.1
1、如果想遠程訪問redis,需要對redis配置ip
配置的方式是:
cd /usr/local/redis vim redis.conf 將bind的id換成真實的ip地址,比如: bind 192.168.106.81 |
2、在集群配置中,要對redis配置密碼,修改的配置是:
cd /usr/local/redis vim redis.conf requirepass accountOne ? ?(這里設置一個密碼:accountOne) |
3、另外若想遠程訪問,需要將6379的防火墻端口號放開
bin/redis-cli -h 192.168.106.81 -p 6379 ? ?通過這種方式可以連接到192.168.106.81這臺服務器上的redis. ? 注意:若想讓它能夠被連同192.168.106.81這臺服務器上的redis.conf的bind屬性值要改成192.168.106.81
4、通過桌面客戶端連接驗證的方式:
總結
以上是生活随笔為你收集整理的NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘能插上读不出来是怎么回事啊 U盘插上
- 下一篇: win10锁屏壁纸怎么设置方法 Win1