logo

您所在位置网站首页 > 海量文档  > 计算机 > 软件编程

Redis知识点概括总结.docx 19页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
特别说明: 下载前务必先预览,自己验证一下是不是你要下载的文档。
  • 上传作者 hundredwz(上传创作收益人)
  • 发布时间:2019-12-02
  • 需要金币20(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:592.59 KB
下载过该文档的会员
本文整理了面试中常见的redis数据库所问的问题,相关的知识点,对于复习很有用
你可能关注的文档:
Redis总结 2019年2月24日 10:24 ? ? 简介 Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。 目前对Redis的三种主流的理解: ① key value store.是一个以key-value形式存储的数据库,定位直指MySQL,用来作为唯一的存储系统。 ② memory cache.是一个把数据存储在内存中的高速缓存,用来在应用和数据库间提供缓冲,替代memcachd。 ③ data structrue server.利用它对复杂数据结构的高速操作,来提供某些特殊业务场景的计算和展现需求。比如排行榜应用,Top 10之类的。 ? 1)Redis的特点(优势) (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。(纯内存的操作,每秒可以处理超过 10万次读写操作) ? (2)支持丰富数据结构,支持string,list,set,sorted set,hash。单个value的最大限制是1GB,不像 memcached只能保存1MB的数据 ? (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 ? (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除 ? 2)Redis与Memcached比较? Redis本意是用来做存储的(通过持久化到硬盘来实现的),memcache是用来做缓存 ① 存储方式: Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 ② 数据的支持类型: memcache支持简单的数据类型:String。 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储 ③ value大小 redis最大可以达到1GB,而memcache只有1MB ? mongoDB、redis和memcached的应用场景,各自优势? mongoDB(基于分布式文件存储的数据库): 文档型的非关系型数据库,使用bson结构。其优势在于查询功能比较强大,能存储海量数据,缺点是比较消耗内存。 一般可以用来存放评论等半结构化数据,支持二级索引。适合存储json类型数据,不经常变化。 redis(内存数据库): 是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是读写性能高。 redis是内存型KV数据库,不支持二级索引,支持list,set等多种数据格式。适合存储全局变量,适合读多写少的业务场景。很适合做缓存。 memcached(内存Cache): Memcached基于一个存储键/值对的hashmap,是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 性能:都比较高,性能都不是瓶颈,redis 和 memcache 差不多,要大于 mongodb。 操作的便利性:memcache 数据结构单一(key-value);redis 丰富一些,还提供 list、set、hash 等数据结构的存储;mongodb 支持丰富的数据表达,索引,最类似关系型数据库。 ? 3)Redis常见的数据结构和应用? ① String--动态字符串sds String数据结构是简单的key-value类型(一个key对应一个value),value其实不仅可以是String,也可以是数字。String类型是二进制安全的,可以包含任何数据(jpg图片或者序列化对象)--可以实现数字字符串的增加和减少的操作 应用: 常规的key-value缓存应用 常规计数:微博数,粉丝数等。 初始化:set cnt 0 ---->> incr cnt(自增); decr cnt (自减) ② List--双向链表 list就是链表,左右都可以插入,Redis list的应用场景非常多,也是Redis最重要的数据结构之一,比如微博的关注列表,粉丝列表,最新消息排行等功能都可以用Redis的list结构来实现。(秒杀系统:用一个AtomicInteger类型作为key,将用户ID插入到List中)--单个key对应多个value Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。 ③ Set--intset整数集合 set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动去重的。 采用数组来保存每一个数据项,并且保证不会出现重复的元素 当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556