memcached 和 redis 安装

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
    特点:
  4. 能够持久化储存数据 memcache不能
  5. 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