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为首开发的高性能分布式内存缓存服务器.其本质上就是一个 ...
随机推荐
- Dev TreeList基本用法
public partial class treelist_shijian : DevExpress.XtraEditors.XtraForm { public treel ...
- XML注释与Description标签及Java:注解(Annotation)的关系
NET中的规范标准注释(一) -- XML注释标签讲解 一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用. C#解析器可以把代码文件中的这些XML标记提取出来 ...
- windows 10 服务组件安装出现0x80070422错误解决方法
问题描述: windows 10通过控制面板->程序->启用或关闭Windows 功能安装Windows服务或组件时,出现0x80070422错误,提示服务禁止或未启用 问题产生原因: ...
- linux安装xgboost
在学校服务器上安装xgboost,事先我已经安装了anaconda,但是因为师兄已经装了python所以没加入到path. 网上的方法一般都要编译,另外官方的下载方法要联网..总之出了一堆错,最终还是 ...
- 微信开发准备(四)--nat123内网地址公网映射实现
转自:http://www.cuiyongzhi.com/post/37.html 在前面几篇中我们一直说的开发准备工作主要是基于开发框架上的,这里我们说的就逐渐接近开发过程中的实体操作了,如果你之前 ...
- 10-EasyNetQ之控制队列名称
EasyNetQ默认行为,当生成队列的名称时,使用消息类型名+subscription Id.例如:PartyInvitation 这个消息类型,命名空间为 EasyNetQ.Tests.Integr ...
- 配置环境是程序员的第一步 -- Xshell 6 免费版下载安装
Xshell 是一个强大的安全终端模拟软件,通常用来连接云主机,远程控制云主机. 很多人都不知道 Xshell 有专门为家庭和学校用户提供的免费版,只需要填个用户名和邮箱即可. 免费版链接:https ...
- swfupload上传文件数量限制之setStats()
使用swfupload仿赶集的图片上传 SWFUpload是一个基于flash与javascript的客户端文件上传组件. handlers.js文件 完成文件入列队(fileQueued) → 完成 ...
- 408. Valid Word Abbreviation有效的单词缩写
[抄题]: Given a non-empty string s and an abbreviation abbr, return whether the string matches with th ...
- 7-python自定义opener
Handler处理器 和 自定义Opener opener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构 ...