memcached 和 redis 安裝

memcached

1.搭建好lnmpphp

2.安裝依賴包
yum install -y libevent-develgit

3.安裝memcached
$ cd /usr/local/src
$ wget http://memcached.org/files/memcached-1.4.33.tar.gz
$ tar -zxvf memcached-1.4.33.tar.gz
$ cd memcached-1.4.33
$ ./configure --prefix=/usr/local/memcached && make && make installgithub

開啓服務
cd /usr/local/memcached/bin
./memcached -u www -d
-p TCP端口,默認爲11211,能夠不設置
-m 最大內存,單位MB。
-u 指定用戶,若是當前爲 root ,須要使用此參數指定用戶
-d 守護進程(daemon)redis

4.安裝libmemcached
$ wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
$ tar xvzf libmemcached-1.0.18.tar.gz
$ cd lmemcached-1.0.18
$ ./configure --prefix=/usr/local/libmemcached --with-memcached
$ make && make install數據庫

5.安裝php-memcached-php7
wget http://www.memcached.org/files/memcached-1.4.33.tar.gz
phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
--with-libmemcached-dir=/usr/local/libmemcached/
make && make install
將上步獲得的路徑添加到php配置文件: /usr/local/php7/etc/php.ini
extension="/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/memcached.so"
重啓php: service php-fpm restart緩存

6.使用memcached
建立新對象: new Memcached
添加服務器:addServer
添加鍵值對:set
根據鍵值獲取值:get
刪除鍵值對:delete
增長指定數值:increment
減去指定數值:decrement
清空全部緩存:flush服務器

7.設置session使用memcached保存
vi /usr/local/php7/etc/php/ini
session.save_handler=memcached
session.save_path="127.0.0.1:11211"session

redis安裝使用

1.redis安裝:
說明:
1) 也是相似memcached的key-value機制的儲存服務
2) 是非關係型數據庫NoSQL的一種
3) www.redis.io www.redis.cn
特色:
1) 可以持久化儲存數據 memcache不能
2) value支持更多的數據類型php7

安裝:Redis
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
1) 解壓
tar -zxvf redis-3.2.8.tar.gz
2) 移動
cp -R redis-3.2.8 /usr/local/redis
3) 安裝
make installmemcached

服務:
安裝完成後 /usr/local/redis/src 目錄中有兩個服務程序
客戶端: redis-cli
服務端: redis-server
服務測試:./redis-server
1) 須要指定啓動配置文件
2) 默認配置 /usr/local/redis/redis.conf
添加環境變量:
vi /etc/profile
export PATH=$PATH:/usr/local/redis/src
source /etc/profile

開機啓動:
1) 複製配置文件
cd /usr/local/redis
cp redis.conf redis_6379.conf
2) 編輯配置文件
daemonize yes #以守護進程方式運行(後臺運行)
3) 複製啓動腳本文件
cd utils
cp redis_init_script redis_init_script_6379
4) 編輯啓動腳本文件 redis_init_script_6379
EXEC=/usr/local/redis/src/redis-server #服務端路徑
CLIEXEC=/usr/local/redis/src/redis-cli #客戶端路徑
CONF=/usr/local/redis/redis_6379.conf #配置文件路徑
5) 測試啓動腳本(能夠經過ps查看並用redis-cli鏈接)
./redis_init_script_6379 start
6) 修改開機啓動文件 /etc/rc.local
添加 /usr/local/redis/utils/redis_init_script_6379 start
7) 下次開機會自動啓動redis服務

服務測試:
1) 查看進程
ps aux | grep redis
2) 使用客戶端鏈接
cd /usr/local/redis/src
鏈接參數
-h: 指定主機
-p: 指定端口號
-a: 指定密碼
./redis-cli
127.0.0.1:6379>ping
PONG
3) 默認狀況是無密碼 使用密碼兩種方式
1.單次生效 經過命令配置
設置密碼: config requirepass 123456
獲取密碼: config get requirepass
受權使用:auth 123456
2.永久生效
1.vi redis_6379.conf
2.取消'requirepass'行註釋 後面寫上密碼
requirepass 123456
說明:啓用密碼後 無密碼也能夠鏈接 可是沒有權限操做

客戶端操做

經常使用命令:
ping 查看服務器是否容許
quit 關閉當前鏈接
auth
select:選擇庫 0-15 共16個 默認使用0
flushdb: 刪除當前庫
flushall: 刪除全部數據庫
DEL: 刪除鍵
EXISTS: 檢查鍵是否存在

數據類型:
字符串(String):最基本的數據類型 與memcached的Key-Value同樣
設置:SET key value
獲取:GET key
哈希(Hash):是一個鍵值對集合 適合存儲對象
設置:HMSET user:1 name xiaoming password 123456 level 2
獲取全部信息:HGETALL user:1
獲取單個信息:HGET user:1 name
列表(List):按照插入順序排序 能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)
左側壓入:lpush key value1 [value2 ...]
範圍顯示:lrange key strat stop
顯示個數:llen key
左側彈出:lpop
右側壓入:rpush
右側彈出:rpop
集合(Set): string類型的無需整合 集合中的數據是惟一的
添加數據:sadd key value1 [value2 ...]
顯示數據:smembers key
顯示總數:scard key
隨機移除:spop key [count] 默認隨機移除一個
有序集合(zset: sorted set)
不一樣與set的是每一個元素都會關聯一個double類型的分數
redis正是經過分數爲集合中的成員進行從小到大的排序
添加數據:zadd key score value
顯示數據:zrange key start stop
顯示總數:zcard key
顯示範圍:zcount key start stop
顯示序號:zrank key member
顯示分數:zscore key member

PHP操做redis:

(報錯:Can't find PHP headers in /usr/include/php
yum install php-devel)
1.安裝php擴展
$ wget https://github.com/phpredis/phpredis/archive/2.2.4.tar.gz
$ cd phpredis-2.2.7
$ /usr/bin/phpize #phpize路徑,可用 which phpize 命令查看
$ ./configure --with-php-config=/usr/bin/php-config #/usr/bin/php 爲php路徑,同上phpize
$ make && make install

2.修改php配置文件php.ini
vi /usr/local/php7/etc/php.ini
將上步的路徑添加進來
extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/redis.so

3.重啓php-fpm
service php-fpm restart

4.測試擴展庫有沒有成功(phpinfo())

/usr/lib64/php/modules/redis.so

相關文章
相關標籤/搜索