21.9 redis介紹;21.10 redis安裝;21.11 redis持久化;21.12

21.9 redis介紹mysql

1. Redis和Memcached相似,也屬於k-v數據存儲redis

2. Redis官網redis.io, 當前最新穩定版4.0.1sql

3. 支持更多value類型,除了和string外,還支持hash、lists(鏈表)、sets(集合)和sorted sets(有序集合)數據庫

4. redis使用了兩種文件格式:全量數據(RDB)和增量請求(aof)。全量數據格式是把內存中的數據寫入磁盤,便於下次讀取文件進行加載。增量請求文件則是把內存中的數據序列化爲操做請求,用於讀取文件進行replay獲得數據,這種相似於mysql binlog。vim

5. redis的存儲分爲內存存儲、磁盤存儲和log文件三部分 app

21.10 redis安裝ide

1. 進入spa

[root@hao-01 ~]# cd /usr/local/src/命令行

2. 下載線程

[root@hao-01 src]# wget http://download.redis.io/releases/redis-4.0.1.tar.gz

3. 解壓

[root@hao-01 src]# tar zxvf  redis-4.0.1.tar.gz

4. 進入

[root@hao-01 src]# cd /usr/local/src/redis-4.0.1

5. 編譯

[root@hao-01 redis-4.0.1]# make

[root@hao-01 redis-4.0.1]# echo $?

6. 安裝

[root@hao-01 redis-4.0.1]# make install

[root@hao-01 redis-4.0.1]# echo $?

7. 查找redis-cli安裝的絕對路徑

[root@hao-01 redis-4.0.1]# which redis-cli

8. 拷貝redis.conf/etc/下:

[root@hao-01 redis-4.0.1]# cp redis.conf /etc/

9. 編輯/etc/redis.conf

[root@hao-01 redis-4.0.1]# vim /etc/redis.conf

更改1:daemonize yes

更改2:logfile "/var/log/redis.log"

更改3:dir /data/redis

更改4:appendonly yes

9. 建立

[root@hao-01 redis-4.0.1]# mkdir /data/redis

10. 執行內核參數:

[root@hao-01 redis-4.0.1]# sysctl vm.overcommit_memory=1

[root@hao-01 redis-4.0.1]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

11. 編輯/etc/rc.local,把內核參數加入,使其開機啓動就生效:

[root@hao-01 redis-4.0.1]# vim /etc/rc.local

添加內容:

sysctl vm.overcommit_memory=1

echo never > /sys/kernel/mm/transparent_hugepage/enabled

12. 啓動

[root@hao-01 redis-4.0.1]# redis-server /etc/redis.conf

13. 搜索是否啓動?

[root@hao-01 redis-4.0.1]# ps aux |grep redis

21.11 redis持久化

1. Redis提供了兩種持久化的方式,分別是RDB(Redis DataBase)和AOF(Append Only File)

2. RDB,簡而言之,就是在不一樣的時間點,將redis存儲的數據生成快照並存儲到磁盤等介質上。

3. AOF,則是換了一個角度來實現持久化,那就是將redis執行過的全部寫指令記錄下來,在下次redis從新啓動時,只要把這些寫指令從前到後再重複執行一遍,就能夠實現數據恢復了。

4. 其實RDB和AOF兩種方式也能夠同時使用,在這種狀況下,若是redis重啓的話,則會優先採用AOF方式來進行數據恢復,這是由於AOF方式的數據恢復完整度更高。

5. 若是你沒有數據持久化的需求,也徹底能夠關閉RDB和AOF方式,這樣的話,redis將變成一個純內存數據庫,就像memcache同樣。

21.12 redis數據類型

Redis數據類型-string

string爲最簡單的類型,與Memcached同樣的類型,一個key對應一個value,其支持的操做與Memcached的操做相似,它的功能更豐富。設置能夠存二進制的對象。

示例:

1. 鏈接進入redis命令行,設定mykey值

[root@hao-02 ~]# redis-cli

127.0.0.1:6379> set mykey "123"

2. 獲取mykey值

127.0.0.1:6379> get mykey

3. 同時設定多個k值

127.0.0.1:6379> mset k1 "1" k2 "2" k3 "c"

4. 同時獲取多個k值

127.0.0.1:6379> mget k1 k2 k3 mykey

Redis數據類型-list

 list是一個鏈表結構,主要功能是push、pop、獲取一個範圍的全部值等等。操做中key理解爲鏈表的名字。

 使用 list 結構,咱們能夠輕鬆地實現最新消息排行等功能(好比新浪微博的 TimeLine )。list 的另外一個應用就是消息隊列,能夠利用 list 的 push操做,將任務存在 list 中,而後工做線程再用pop操做將任務取出進行執行。

示例:

相關文章
相關標籤/搜索