1 / 45
文档名称:

redis介绍.ppt

格式:ppt   大小:459KB   页数:45页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

redis介绍.ppt

上传人:ranfand 2016/8/22 文件大小:459 KB

下载得到文件列表

redis介绍.ppt

文档介绍

文档介绍:Redis 介绍林超旗 Page ?2 2 主要内容?简介与配置?特性?数据类型?持久化机制及问题?主从复制及问题?命令总结?思考 Page ?3 3 简介与配置 Redis 官网是这么描述的: ? Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. ? Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value 数据库,并提供多种语言的 API 。从 2010 年3月 15 日起, Redis 的开发工作由 VMware 主持。?启动流程及处理流程: http://blog./html/ Page ?4 4 启动流程 Page ?5 5 命令处理流程 Page ?6 6 ?* daemonize :是否以后台 daemon 方式运行?* pidfile : pid 文件位置?* port :监听的端口号,默认端口号是 6379 ?* timeout :请求超时时间?* loglevel : log 信息级别?* logfile : log 文件位置?* databases :开启数据库的数量?* save **:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。?* pression :是否使用压缩?* dbfilename :数据快照文件名(只是文件名,不包括目录) ?* dir :数据快照的保存目录(这个是目录) ?* appendonly :是否开启 appendonlylog ,开启的话每次写操作会记一条 log ,这会提高数据抗风险能力,但影响效率。?* appendfsync : appendonlylog 如何同步到磁盘(三个选项,分别是每次写都强制调用 fsync 、每秒启用一次 fsync 、不调用 fsync 等待系统自己同步) Page ?7 7 ?#Redis 的复制配置?# slaveof <masterip> <masterport> ?# masterauth <master-password> ?# 连接时所需的密码?#requirepass foobared ?#最大客户端连接数?# maxclients 128 ?#最大内存使用率? maxmemory <bytes> 设置最大内存,达到最大内存设置后, Redis 会先尝试清除已到期或即将到期的 Key ,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。 Page ?8 8 Redis 特性?速度快 Redis 使用标准 C编写实现,而且将所有数据加载到内存中,所以速度非常快。官方提供的数据表明,在一个普通的 Linux 机器上, Redis 读写速度分别达到 81000/s 和 110000/s 。?持久化由于所有数据保持在内存中( 版本开始可以只将部分数据的 value 放在内存,见“虚拟内存”),所以对数据的更新将异步地保存到磁盘上, Redis 提供了一些策略来保存数据,比如根据时间或更新次数。?数据结构可以将 Redis 看做“数据结构服务器”。目前, Redis 支持 5种数据结构。 Page ?9 9 ?自动操作 Redis 对不同数据类型的操作是自动的,因此设置或增加 key 值,从一个集合中增加或删除一个元素都能安全的操作。?支持多种语言 Redis 支持多种语言,诸如 Ruby, Python, Twisted Python, PHP, Erlang, Tcl, Perl, Lua, Java, Scala, Clojure 等。?主-从复制 Redis 支持简单而快速的主-从复制。官方提供了一个数据, Slave 在 21 秒即完成了对 Amazon 网站 10G key set 的复制。? Sharding 很容易将数据分布到多个 Redis 实例中,但这主要看该语言是否支持。目前支持 Sharding 功能的语言只有 PHP 、 Ruby 和 Scala 。 Page ? 10 10 数据类型及操作方法? string( 字符串)? list( 双向链表)? set( 无序集合)? zset( 有序集合)? hash(hash 表)