memcached
1.搭建好lnmp
2.安装依赖包
yum install -y libevent-devel
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 install
开启服务
cd /usr/local/memcached/bin
./memcached -u www -d
-p TCP端口,默认为11211,可以不设置
-m 最大内存,单位MB。
-u 指定用户,如果当前为 root ,需要使用此参数指定用户
-d 守护进程(daemon)
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"
redis安装使用
1.redis安装:
说明:
1) 也是类似memcached的key-value机制的储存服务
2) 是非关系型数据库NoSQL的一种
3) www.redis.io www.redis.cn
特点:
1) 能够持久化储存数据 memcache不能
2) value支持更多的数据类型
安装: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 install
服务:
安装完成后 /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
原文地址:https://www.cnblogs.com/weizaiyes/p/9167144.html