黑马程序员Redis教程

上传人:mar****e6 文档编号:177618415 上传时间:2022-12-26 格式:DOCX 页数:6 大小:93.68KB
收藏 版权申诉 举报 下载
黑马程序员Redis教程_第1页
第1页 / 共6页
黑马程序员Redis教程_第2页
第2页 / 共6页
黑马程序员Redis教程_第3页
第3页 / 共6页
资源描述:

《黑马程序员Redis教程》由会员分享,可在线阅读,更多相关《黑马程序员Redis教程(6页珍藏版)》请在装配图网上搜索。

1、黑马程序员 Redis 教程P1:Redis 介绍1. mysql 数据库,数据库以“文件形式存储在硬盘”里边 Redis1. 什么是 RedisRedis 是远程数据服务,内存高速缓存数据库,支持丰富的数据结构,如 String、list、hash、set、 sorted set,可持久化,保证了数据安全。Redis是做数据缓存的。缓存有两种类型:数据缓存、页面缓存 使用缓存减轻数据库的负载。在开发的时候如果有一些数据在短时间之内不会发生变化,而他们还要被频繁的访问,为了提高用户 的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量 就可以获得该数据)

2、,该行为就称作对该数据的缓存。 该介质可以是文件、数据库、内存,内存经常用于数据缓存。缓存的两种形式:页面缓存经常用在CMS内存管理系统里边数据缓存经常用于页面的具体数据里边新闻页面(内容单一,集中)适合做页面缓存商品页面的组成部分根据业务特点,各个部分数据比较独立,适合给他们分别做数据缓存。MJR - Mi Ml WOppO SAMSUNG 也BOH vivo mEIZL1 NOKIA S - HUOIQ -9如 PHILIPS 950 touch天.$小械紐 ZTE中兴 21KE coolpad 中ib 寸wtarr43-a.urr,xtwruBRatHMMOtrzU4tMTNIttaKU

3、M*hAMuua!* 94ur *Mnt iSHRam* i RM i * I E:m; miv*2B ttx ami aw?rvast* zjuxv m2. redis 和 memcache 比较 Redis不仅仅支持简单的k/v类型的数据,同时还提供list, set, zset, hash等数据结构的存储。 Redis支持master-slave (主从)模型应用 Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用 Redis单个value的最大限制是1GB, memcached只能保存1MB的数据。二、具体使用1. key 的操作在redis里

4、边,除了 “n”和空格不能作为名字的组成部分,其他内容都可以作为key的名字部分。 名字长度不作要求。2. String 类型操作String是redis最基本的类型Redis的string可以包含任何数据。包括jpg图片或者序列化对象 单个value值最大上限是1G字节如果只用 string 类型, redis 就可以被看做加上持久化特性的 memcacheincr:increament 增长该指令可以对key进行累加1操作,默认是累加1操作,类似i+操作该指令可以针对新key或已有key进行操作 新key:创建该key并累加1,其值为1 已有key: key的信息值类型要求必须为整型的 d

5、ecr的操作模式与incr 一致,不过其是减1操作 subs tr:对内容进行截取,包括st art和end标记位置3. 数据类型List链表list 类型其实就是一个双向链表。通过 push, pop 操作从链表的头部或者尾部添加删除元素。这使得 list 既可以用作栈,也可以用作队列。上进下出:栈上进下出:队列List 类型操作: lpush key st ring :在key对应list的头部添加字符串元素 rpop key:从list的尾部删除元素,并返回删除元素 llen key返回key:对应list的长度,key不存在返回0,如果key对应key不是list返回错误 lrange

6、 key start end :返回指定区间内的元素,下标从0开始 rpush key string :同上,在尾部添加 lpop key:从list的头部删除元素,并返回删除元素 ltrim key start end:截取list,保留指定区间内元素该 list 链表类型应用场合:获得最新的10个登录用户信息: select * from user order by logintime desc limit 10;以上sql语句可以实现用户需求,但是数据多的时候,全部数据都要受到影响,对数据库的复杂比较 高。必要情况还需要给关键字段(id或logintime)设置索引,索引也比较耗费系统资

7、源。如果通过list链表实现以上功能,可以在list链表中只保留最新的10个数据,每进来一个新数据 就删除一个旧数据。每次就可以从链表中直接获得需要的数据。极大节省各方面资源消耗。4. set 集合类型redis的set是string类型的无序集合set 元素最大可以包含(2 的 32 次方-1)个元素关于set集合类型除了基本的添加删除操作,其他有用的操作还包括集合的取并集,交集,差集。通过这 些操作可以很容易的实现sns的好友推荐功能注意:每个集合中的各个元素不能重复set 类型操作: sadd key member :添加一个string元素到key对应的set集合中,成功返回1,如果元

8、素已经在set 集合中,返回 0, key 对应的 set 不存在返回错误。 sren key member member:从key对应set中移除给定元素,成功返回1 smove pl p2 member :从pl对应set中移除member并添加到p2对应set中 scard key:返回set元素个数 sismember key member :判断 set 的元素个数 sin ter key1 key2.keyN:返回所有给定key的交集 sunion key1 key2.keyN :返回所有给定冰机 sdiff key1 key2.keyN :返回所有给定key的差集 smember

9、s key:返回key对应set的所有元素,结果是无序的。该类型应用场合:qq好友推荐Tom 朋友圈(与某某是好友):mary jack xiaoming wang5 wang6Linken 朋友圈(与某某是好友):yuehan daxiang luce wang5 wang6创建 Tom 的朋友圈:127sadd tonFri nary5add tonFvi xiaoning 1127sadd tomFii uang5 1127sadd tonFri jack sadd tomFii uangb 1创建 linken 朋友圈:127.001:63791 sadd linkenFri yueh

10、an 1127.0.0.1:637911 sarta-IlnkenFri 丟苗石i询二 1127sadd linkenFri luce 11271:63791 sadd linkenFri wangS 11271:63791 sadd linkenFri uang6 1127.0.0.1:637911 keys *1 utornFriM2 newlogin3 linkenFri对两个 set 取交集和并集:J ZXII 11 1-X127-0:6379 El :inteF tomFri linkenFii1 wangS2 wangG127001:637911 sunion tomFri lin

11、ken 1 wangS2 xiaoming3 nary4 wangG5 jack取差集:127.0.0.1 :6379 tll ?(TLfTtoiiFpi likiSFrt1 jack2 MxiaomingM3 mapy127.0.0.1 :6379 lcsUifir linkenFri toniFF::1 luce2 daxiong3 yuehan5. Sort Set排序集合类型和 set 一样 sorted set 也是 string 类型元素的集合,不同的是每个元素都会关联一个权。 通过权值可以有序的获取集合中的元素。排序集合中的每个元素都是值、权的组合,之前的set集合类型每个元素就

12、只有一个值sort set 排序类型: zadd key score member :添加元素到集合,元素在集合中存在则更新对应score。 zren key member:删除指定元素,1表示成功,如果元素不存在返回0 zincrby key incr member :按照 incr 幅度增加对应 member 的 score 值,返回 score 值 zrank key member :返回指定元素在集合中的排名(下标),集合中元素是按score从小到大排序 的。 zrevrank key member :同上,但是集合中元素是按score从大到小排序的 zrange key start

13、end:类似lrange操作从集合中去指定区间的元素。返回的是有序结果 zrevrange key start end:同上,返回结果是按score逆序的。 zcard key:返回集合中元素个数。 zscore key element: 返回给定元素对应的score zrenrangeburank key min max :删除集合中排名在给定区间的元素。该 Sort set 类型适合场合:获得热门帖子(回复量)信息: select * from message order by backnum desc limit 5; (以上需求可以通过简单的 sql 语句实现,但是 sql 语句比较耗

14、费 mysql 数据库资源) 案例:获得热门帖子信息(前 5):我们只做一个sort set排序集合,里边只保留5个元素信息,该5个元素是回复量最高的每个帖子被回复 的时候,都有机会进入该集合里边,但是只有回复量最高的前5个帖子会存在于该集合,回复量低的就被 删除。创建一个sort set排序集合hotmessage的key,内部有5个元素:按照权值由高到低的顺序获得具体元素之的信息:127.0.0.1:63791 areurange hotmessage 0 103 1 152 163 134 125 ll6 14127.0.0.1:63791J .给集合每添加一个元素,就把权值最低的元素删

15、除:127.0.0.1:63791J aremrangebyrank hotmessage 00 integer 1127.0.0.1:63791J zreurange hotmessage 0 100 1 M152 16 3 M13 4 ,R125 ll127.0.0.1:63791J6. 数据类型 Hashhash 数据类型存储的数据与 mysql 数据库中存储的一条记录极为相似。三、持久化功能Redis 为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后 会把硬盘的数据恢复到内存(redis )的里边。数据保存到硬盘的过程就称为“持久化”效果。1. sna

16、p shotting 快照持久化该持久化默认开启,一次性把redis中全部的数据保存一份存储到硬盘中,如果数据非常多(10-20G) 就不适合频繁进行该持久化操作。默认的文件名为:dump.rdb 快照持久化的备份频率:save 900 1 #900秒内如果超过1个key被修改,则发起快照保存save 300 10 #300秒超过10个key被修改,发起快照保存save 60 10000 #60秒超过10000个key被修改,发起快照保存1.1 手动发起快照持久化bgsave 指令2. append only file(AOF 持久化)本质:把用户执行的每个“写”指令(添加、删除、修改)都备份

17、到文件中,还原数据的时候就是执 行具体写指令而已。开启AOF持久化(会清空redis内部的数据):默认没有开启2.1为aof备份文件做优化处理对 appendonly.aof 文件内容做优化压缩处理(例如多个 incr 指令变为一个 set 指令)Redis的持久化相关指令:gbsave异步保存数据到磁盘(快照保存) lastsave返回上次成功保存到磁盘的unix时间戳 shutdown同步保存到服务器并关闭redis服务器 gbrewriteaof当日志文件过长时优化AOF日志文件存储四、主从模式为了降低每个 redis 服务器的负载,可以多设置几个,并做主从模式,一个服务器负责“写”数据 其他服务器负责“读”数据,主服务器数据会“自动”同步给从服务器。配置 redis.conf 文件,之后文件保存退出,杀死旧的 redis 进程,启动新的 redis 进程。Slave 服务器默认禁止写操作。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!