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
特点:
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
memcached 和 redis 安装的更多相关文章
- Day11 Memcached、Redis和RabbitMQ安装
修改Ubuntu镜像源: sudo vi /etc/apt/sources.list 全部替换为以下内容: ---------------------------------------------- ...
- linux下php7安装memcached、redis扩展
linux下php7安装memcached.redis扩展 1.php7安装Memcached扩展 比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcache ...
- dockerfile创建php容器(安装memcached、redis、gd、xdebug扩展)
dockerfile创建php容器(含有memcached.redis.gd.xdebug扩展) 代码如下: FROM php:7.2-fpm COPY redis-3.1.6.tgz /home/r ...
- linux下memcached安装 和redis安装,jdk,tomcat,mysql 安装
一.memcached安装yum search memcachedyum -y install memcachedmemmcached -h service memcached restartc ...
- 缓存、队列(Memcached、redis、RabbitMQ)
本章内容: Memcached 简介.安装.使用 Python 操作 Memcached 天生支持集群 redis 简介.安装.使用.实例 Python 操作 Redis String.Hash.Li ...
- Redis安装及实现session共享
一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...
- 高性能缓存系统Redis安装与使用
在互联网后台架构中,需要应付高并发访问数据库,很多时候都会在数据库上层增加一个缓存服务器来保存经常读写的数据以减少数据库压力,可以使用LVS.Memcached或Redis,Memcached和Red ...
- 缓存、队列(Memcached,Redis,rabbitMQ)
一.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...
- 谈谈Memcached与Redis
1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个 ...
随机推荐
- 2014.8.25 CAD系统事件触发流程
各进近.离场.进场Arinc424数据录入界面在CADDataManager/UC/UCIAP(UCSID)下 UCAirport是一抽象用户控件类,在FormADHP初始化时实例化成airport控 ...
- Oracle11gR2_ADG管理之恢复主库的truncate表实战
备库开启flashback database #关闭备库的同步 SQL> alter database recover managed standby database cancel; Data ...
- 通过DG_BROKE搭建Oracle11g_adg
1.环境 db_primary db_stanby db版本 11.2.0.4.0 11.2.0.4.0 os版本 centos 6.4 centos 6.4 db_unique_name newte ...
- VxWorks多任务功能
http://blog.chinaunix.net/uid-23741326-id-84935.html VxWorks的任务有优先级的概念,其任务调度也是基于优先级考虑的,是抢占式的,VxWorks ...
- Lyx/LaTeX笔记04---插入伪代码
1 可用的宏包 常用的排版伪代码包有clrscode, algorithm, algorithmic, algorithmicx, algorithm2e 2 clrscode clrscode是著名 ...
- 1 任务管理 --转载于电子工程世界
uC/OS-II 中最多可以支持64 个任务,分别对应优先级0-63,其中0 为最高优先级.63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个. uC ...
- MyEclipse从数据库反向生成实体类通过Hibernate的方式----mysql数据库实例
1.我们通过DB与数据库建立连接 2.建立web工程,构建Hibernate框架 3.通过table生成实体类
- request.getHeader("x-forwarded-for")这是什么意思
request.getHeader,简单的说就是获取请求的头部信息,根据http协议,它能获取到用户访问链接的信息,以下是我们常用的: request.getHeader("referer& ...
- Java对象的强、软、弱和虚引用
本文介绍Java对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. 1.Java对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象 ...
- Java IO简介
-------------siwuxie095 Java IO简介: IO 也写作"I/O",可理解为 In 和 Out,即 输入 与 输出 ...