1.Redis簡介html
Redis:REmote DIctionary Server(遠程字典服務器)。linux
Redis是徹底開源免費的,用C語言編寫的,遵照BSD協議,是一個高性能的(key/value)分佈式內存數據庫,基於內存運行並支持持久化的NoSQL數據庫,是當前最熱門的NoSql數據庫之一,也被人們稱爲數據結構服務器。c++
Redis 與其餘 key - value 緩存產品有如下三個特色。redis
|-Redis支持數據的持久化,能夠將內存中的數據保持在磁盤中,重啓的時候能夠再次加載進行使用數據庫
|-Redis不單單支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲vim
|-Redis支持數據的備份,即master-slave模式的數據備份緩存
2.Redis環境搭建服務器
1)VMWare+VMTools安裝數據結構
[1]VMWare安裝分佈式
https://www.cnblogs.com/CSAH/p/11340116.html |
[2]安裝CentOS6.8
注:查看本身Linux是32爲仍是64位 getconf LONG_BIT
[root@pluto ~]# getconf LONG_BIT 64 |
[3]VMTools安裝
|
2)Redis安裝
[1]下載Redis
下載Redis經過官網下載,若是看不懂中文的能夠經過www.redis.cn下載。
[2]解壓Redis並安裝
首先,咱們須要先設置共享文件夾,在VMTools安裝中有方法。而後在Windows中文件夾得到Redis.tar.gz安裝包.
[root@pluto 桌面]# cd /mnt/hgfs/VMShare/ [root@pluto VMShare]# ll 總用量 1336 -rwxrwxrwx. 1 root root 1364993 10月 8 2015 redis-3.0.4.tar.gz |
注:共享文件夾在mnt下的hgfs中
而後,copy一份redis到Linux中的opt,關於cp命令使用方式能夠經過點擊便可學習。
[root@pluto VMShare]# cp /mnt/hgfs/VMShare/redis-3.0.4.tar.gz /opt/ |
其次,解壓Redis,並進入解壓後的目錄redis-3.0.4
[root@pluto VMShare]# cd /opt/ [root@pluto opt]# tar -zxvf redis-3.0.4.tar.gz [root@pluto opt]# cd redis-3.0.4 [root@pluto redis-3.0.4]# make |
可能出現的問題以下:
(1)缺乏gcc
【1】虛擬機能夠上網
該方法我並未試過,具體能夠上網找教程
yum install gcc-c++ |
【2】虛擬機不能上網
能夠經過掛載鏡像中自帶的軟件包安裝。執行如下六條命令,從上往下執行。只要不是依賴包的問題均可以接着往下執行。若是依賴包的問題咱們經過如下連接查錯
[root@pluto Packages]# [root@pluto CentOS_6.8_Final]# rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh kernel-headers-2.6.32-642.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh libgomp-4.4.7-17.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm |
https://blog.csdn.net/gaojp008/article/details/83275706?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase |
(2)Jemalloc/jemalloc.h:沒有那個文件或目錄
運行make distclean以後再make |
最後,咱們make完後繼續執行make install
[3]查看Redis安裝目錄
[root@pluto 桌面]# cd /usr/local/bin/ [root@pluto bin]# ll 總用量 16240 -rw-r--r--. 1 root root 800099 7月 18 00:15 dump.rdb -rwxr-xr-x. 1 root root 4589115 7月 17 19:20 redis-benchmark -rwxr-xr-x. 1 root root 22177 7月 17 19:20 redis-check-aof -rwxr-xr-x. 1 root root 45387 7月 17 19:20 redis-check-dump -rwxr-xr-x. 1 root root 4693066 7月 17 19:20 redis-cli lrwxrwxrwx. 1 root root 12 7月 17 19:20 redis-sentinel -> redis-server -rwxr-xr-x. 1 root root 6466469 7月 17 19:20 redis-server |
Redis-benchmark:性能測試工具 Redis-check-aof:修復有問題的AOF文件 Redis-check-dump:修復有問題的dump.rdb文件 Redis-cli:客戶端,操做入口 Redis-sentinel:redis集羣使用 Redis-server:Redis服務器啓動命令 |
(1)Redis配置文件
修改redis.conf文件將裏面的daemonize no 改爲 yes,讓服務在後臺啓動.
[root@pluto /]# mkdir myredis [root@pluto /]# cp /opt/redis-3.0.4/redis.conf /myrediss/ [root@pluto /]# vim /myrediss/redis.conf 37 daemonize yes |
(2)啓動Redis
[root@pluto bin]# redis-server /myredis/redis.conf [root@pluto bin]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> |
查看redis啓動先後的區別:
#啓動前 [root@pluto bin]# ps -ef|grep redis root 32198 6786 0 00:31 pts/3 00:00:00 grep redis #啓動後 [root@pluto bin]# ps -ef|grep redis root 32163 1 0 00:28 ? 00:00:00 redis-server *:6379 root 32187 32117 0 00:29 pts/6 00:00:00 redis-cli root 32196 6786 0 00:30 pts/3 00:00:00 grep redis |
(3)關閉Redis
[root@pluto bin]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> SHUTDOWN not connected> exit |
3)Redis基礎知識
[1]select
語法:select <dbid>
做用:切換數據庫
[root@pluto bin]# redis-server /myredis/redis.conf [root@pluto bin]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> |
[2]Dbsize
語法:Dbsize
做用:查看當前數據庫的key的數量
127.0.0.1:6379> Dbsize (integer) 5 |
[3]Flushdb
語法:Flushdb
做用:清空當前庫,其它庫的並未受影響
127.0.0.1:6379> keys * 1) "k3" 2) "k2" 3) "k1" 127.0.0.1:6379> Flushdb OK 127.0.0.1:6379> keys * (empty list or set) |
[4]Flushall
語法:Flushall
做用:通殺所有庫
127.0.0.1:6379> set k1 v1 OK 127.0.0.1:6379> set k2 v2 OK 127.0.0.1:6379> set k3 v3 OK 127.0.0.1:6379> select 1 OK
127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> set v1 k1 OK 127.0.0.1:6379[1]> set v2 k2 OK 127.0.0.1:6379[1]> set v3 k3 OK 127.0.0.1:6379[1]> keys * 1) "v3" 2) "v2" 3) "v1"
127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> FLUSHALL OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> select 1 OK
127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> |
參考文檔:https://www.runoob.com/redis/redis-benchmarks.html
https://blog.csdn.net/rongDang/article/details/90601033
http://www.javashuo.com/article/p-hfbdwolc-nu.html
http://www.javashuo.com/article/p-pittbixx-nu.html
http://www.javashuo.com/article/p-gbptvant-nu.html
https://www.runoob.com/linux/linux-file-content-manage.html
https://jingyan.baidu.com/article/915fc41451154751394b200e.html
https://blog.csdn.net/love20165104027/article/details/83377758
https://www.pianshen.com/article/7915151415/
https://www.runoob.com/redis/redis-install.html