ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:19.21KB ,
资源ID:3806828      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3806828.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(redis安装和使用详细教程.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

redis安装和使用详细教程.docx

1、redis安装和使用详细教程Linux中的Redis缓存服务器一、Redis基础部分:1、redis介绍与安装比mysql快10倍以上*redis适用场合*1.取最新N个数据的操作2.排行榜应用,取TOPN操作3.需要精确设定过期时间的应用4.计数器应用5.Uniq操作,获取某段时间所有数据排重值6.实时系统,反垃圾系统7.Pub/Sub构建实时消息系统7.Pub/Sub构建实时消息系统8.构建队列系统9.缓存=SET操作每秒钟110000次,GET操作每秒钟81000次,服务器配置如下:Linux2.6,XeonX33202.5Ghz.stackoverflow网站使用Redis做为缓存服务

2、器。同时也会将数据写到硬盘上。所以数据是安全的(除突然断电外,重启服务会写到dump.rdb文件中)*目前最新稳定版本为:2.4.17.tar.gz、redis-2.6.10.tar.gzwgetPHP模块:owlient-phpredis-2.1.1-1-g90ecd17.tar.gz1.安装:tarzxvfredis-2.4.17.tar.gzcdredis-2.4.17makecdsrc&makeinstall2.移动配置文件位置(为了便于管理)cd/usr/local/mkdir-p/usr/local/redis/binmkdir-p/usr/local/redis/etcmv/la

3、mp/redis-2.4.17/redis.conf/usr/local/redis/etccd/lamp/redis-2.4.17/srcmvmkreleasehdr.shredis-benchmarkredis-check-aofredis-check-dumpredis-cliredis-server/usr/local/redis/bin3.修改配置文件vi/usr/local/redis/etc/redis.conf一、将daemonizeno中no改为yesyes指后台运行4.启动/随机启动:cd/usr/local/redis/bin./redis-server/usr/loca

4、l/redis/etc/redis.conf#启动redis并指定配置文件。#vi/etc/rc.local#设置随机启动。/usr/local/redis/bin/redis-server/usr/local/redis/etc/redis.conf5.查看是否启动成功ps-ef|grepredisnetstat-tunpl|grep6379#查看端口是否占用。6.进入客户端/退出cd/usr/local/redis/bin./redis-cli#进入quit#退出7.关闭redispkillredis-server#关闭./redis-clishutdown#关闭*Redis安全*Redi

5、s的安全性?(由以下4种方式)1.用ACL控制器安全性。2.在redis.conf配置文件增加下面这一行配置,即可把redis绑定在单个接口上(但并不是只有接受这个网卡的数据)。bind127.0.0.13.给redis加上较长密码(无需要记住)4.在redis.conf配置启用认证功能。5.SSL代理6.禁用指定命令。*Redis配置*daemonize如果需要在后台运行,把该项改为yespidfile配置多个pid的地址默认在/var/run/redis.pidbind绑定ip,设置后只接受来自该ip的请求port监听端口,默认为6379timeout设置客户端连接时的超时时间,单位为秒l

6、oglevel分为4级,debug、verbose、notice、warninglogfile配置log文件地址databases设置数据库的个数,默认使用的数据库为0save设置redis进行数据库镜像的频率rdbcompression在进行镜像备份时,是否进行压缩Dbfilename镜像备份文件的文件名Dir数据库镜像备份的文件放置路径Slaveof设置数据库为其他数据库的从数据库Masterauth主数据库连接需要的密码验证Requirepass设置登录时需要使用的密码Maxclients限制同时连接的客户数量Maxmemory设置redis能够使用的最大内存Appendonly开启ap

7、pendonly模式以下了解即可:Appendfsync设置对appendonly.aof文件同步的频率vm-enabled是否开启虚拟内存支持vm-swap-file设置虚拟内存的交换文件路径vm-max-memory设置redis使用的最大物理内存大小vm-page-size设置虚拟内存的页大小vm-pages设置交换文件的总的page数量vm-max-threads设置VMIO同时使用的线程数量Glueoutputbuf把小的输出缓存存放在一起hash-max-zipmap-entries设置hash的临界值Activerehashing重新hash*5种数据类型:字符串、哈希、链表、集

8、合、有序集合。支持:push/pop、add/remove、取交集、并集、差集、排序。redismysql同时也会将数据写到硬盘上。所以数据是安全的(除突然断电外,重启服务会写到dump.rdb文件中)*selectnum#选择库,默认在0库,共16个库authliweijie#授权用户所需密码(密码就是redis.conf中配置的密码)flushdb#清空数据库。String(字符串)类型:setnamelijie#设置键name的值为lijiegetname#获取name的值。keys*#查询所有的键。setnxnameliweijie#如果键已存在则返回0,不更新,防止覆盖。setexh

9、aircolor10red#设置键的值的有效期为10秒。setrangeemail6#替换键的值从第6个字符开始换为msetname1李大伟name2李小伟#设置多个键的值。msetnxname1张三name3李四#判断键是否存在,不存在则设置,否则不设置返回0mgetname1name2name3#一次获取多个键的值。getsetname1Tom#重新设置键的值,并返回旧的键值。getrangeemail618#截取email键的值,从第6-18位间的字符。incruid#每次自增1(如果key中uid不存在,则设置并从0开始,下同)incrbyuid5#每次自增5incrbyuid-5#每

10、次自减5decruid#每次自减1decrbyuid5#每次自减5appendname1#给name1的值,添加字符串strlenname1#返回键name1的值的长度。*Hashes(哈希)类型:hsetuser:001nameliweijie#哈希设置用户user:001的name键值为liweijiehsetuser:001age21#同样,增加一个age键值为21hsetnxuser:001age22#同上,但检测键是否存在。若不存在创建。hmsetuser:002nameliweijie2age26sex1#同时设置多个键的值。hgetuser:001name#哈希获取用户user:

11、001的name键的值。hgetuser:001age#同上。hmgetuser:001nameagesex#获取多个指定的键的值。hgetalluser:001#获取所有键的值。hincrbyuser:001age-8#在指定键上加上给定的值。hexistsuser:001sex#检测指定的键值是否存在。hlenuser:001#返回指定哈希的键个数/字段个数。hdeluser:001sex#删除指定(user:001)哈希的指定字段或是键值。hkeysuser:003#返回哈希里所有字段或是键值。*Lists(链表)类型及操作(棧或队列):lpushmylistworld#从头部插入字符串

12、lpushmylisthello#同上lrangemylist0-1#获取从0到最后一个如1)hello2)worldrpushmylistjiejie#在尾部插入linsertmylistbeforehellothisislinsert#指定插入位置(在hello之前插入)。lsetmylist0what#设置修改指定下标的值。lremmylist1hello#删除(1个)一个值为hello的元素。(n0从尾部删除,n=0全部删除)ltrimmylist12#保留表中下标为1/2的元素。lpopmylist#弹出开头元素并返回。rpopmylist#弹出尾部元素并返回。rpoplpushmy

13、listmylist2#从mylist尾部弹出插入到mylist2的头部。lindexmylist0#获取表下标为0的元素值。llenmylist#返回表元素个数(相当于count($arr)。*sets(集合)类型及操作(好友推荐、blog、tag功能):smembersmyset#查看myset集合中所有元素值。saddmysethello#向mysets集合中添加一个值hellosremmysethello#删除myset集合中名称为hello的元素。spopmyset#随机弹出并返回mysets中的一个元素。sdiffmyset2myset3#返回myset2中的与myset3的差集(

14、以myset2为准)。sdiffstoremyset4myset2myset3#返回myset2中的与myset3的差集,并存入myset4中去。sintermyset2myset3#返回myset2与myset3的交集。sinterstoremyset5myset2myset3#返回myset2与myset3的交集,并存入myset5中去。sunionmyset2myset3#求并集(去重复)sunionstoremyset6myset2myset3#求并集,并存入myset6中去。smovemyset2myset3three#将myset2中的three移到myset3中去。scardmy

15、set2#返回元素个数。sismembermyset2one#判断元素one是不是myset2集合的(相当于is_array()。srandmembermyset2#随机返回myset2集合中的一个元素,但不删除(相当于array_rand()。*sortedsets(有序集合)类型及操作(以scores排序):zaddmyzset1one#向顺序1的添加元素onezaddmyzset2two#同上。zaddmyzset3two#相当于更新顺序为2的值zrangemyzset0-1withscores#查看所有元素并带上排序(默认升序)。zremmyzsettwo#删除twozincrbymy

16、zset2two#将two的顺序值加上2zrankmyzsettwo#返回集合中元素的索引下标值。zrevrankmyzsettwo#元素反转并返回新下标值。zrevrangemyzset0-1withscores#按顺序反转(相当于降序排序)zrangebyscoremyzset110withscores#返回顺序为1-10的元素(可做分页)。zcountmyzset110#返回顺序在1-10之间元素的个数。zcardmyzset#返回集合中所有元素的个数。zremrangebyrankmyzset12#删除集合中下标为1到2的元素。zremrangebyscoremyzset110#删除集

17、合中顺序为1到10的元素。Redis常用命令键/值相关命令。keys*#查询所有keysuser*#查询指定的existsuser:001#判断是否存在。delname#删除指定的键。expireaddr10#设置过期时间ttladdr#查询过期时间select0#选择数据库moveage1#将age移到1数据库。getage#获取persistage#移除age的过期时间。randomkey#随机返回一个keyrenamename1name2#重命名键typemyset#返回键的类型。ping#测试redis连接是否存活。echolamp#输出一个lampselect10#选择数据库。qui

18、t/exit/crtl+C#退出客户端dbsize#返回库里的键的个数。服务器相关命令:info#显示redis服务器的相关信息。configget*/loglevel#返回所有/指定的配置信息。flushdb#删除当前库中的所有键/表。flushall#删除所有数据库中的所有键/表二、Redis高级部分:1、Redis安全性:1.用ACL控制器安全性。2.给redis加上较长密码#requirepassfoobaredrequirepassbeijing3.在redis.conf配置启用认证功能。方式一:Authbeijing方式二:./redis-cli-abeijing4.在redis.

19、conf配置文件增加下面这一行配置,即可把redis绑定在单个接口上(但并不是只有接受这个网卡的数据)。bind127.0.0.1(单台机器的时候可以配置,分布式或主从复制时最好不要配置)5.SSL代理6.禁用指定命令。2、Redis主从复制:redis只需在从服务器(slave)上配置即可:slaveof211.122.11.116379#指定master的ip和端口masterauthbeijing#这是master主机的密码Info#查看主/从服务器的状态。3、Redis事务处理:Redis事务很不完善。4、Redis持久化机制:1.两种方式:一、备份数据到磁盘(快照)snapshott

20、ing(快照)也是默认方式二、记录操作命令Append-onlyfile(缩写aof)的方式一、备份数据到磁盘(快照)snapshotting(快照)也是默认方式save9001#900秒内如果超过1个key被修改,则发起快照保存save30010#300秒内容如超过10个key被修改,则发起快照保存save6010000二、记录操作命令Append-onlyfile(缩写aof)的方式(较安全持久化)appendonlyyes#启用aof持久化方式#appendfsyncalways/收到写命令就立即写入磁盘,最慢,但是保证完全的持久化appendfsynceverysec/每秒钟写入磁盘一

21、次,在性能和持久化方面做了很好的折中#appendfsyncno/完全依赖os,性能最好,持久化没保证三、PHP+Redis组合1.上传模块:owlient-phpredis-2.1.1-1-g90ecd17.tar.gz文件解压tarzxfowlient-phpredis-2.1.1-1-g90ecd17.tar.gzCdowlient-phpredis-g90ecd17/usr/local/php/bin/phpize#执行生成configure文件./configure-with-php-config=/usr/local/php/bin/php-config#配置编译Make&makeinstall2.修改php.ini文件添加如下:Extension=redis.so重启apache服务器。3.PHP连接Redis服务器connect(localhost,6379);?

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1