Redis入门教程目次:【Redis入门教程目录】
简介
Redis是由C说话编写的开源、基于内存、支撑多种数据结构、高性能的Key-Value数据库。
特性
速率快
起首Redis是将数据贮存在内存中的,凡是环境下每秒读写次数到达千万级别。其次Redis操纵ANSI C
编写,由于C语言靠近操纵体系,以是Redis的实行服从很高。末了Redis的处置收集哀求部门采纳的是单线程,若是想充分利用CPU资本的话,能够多开几个Redis实例来达到目标,为何单线程仍是速度快的缘由呢?咱们晓得Redis的读写都是基于内存的,读写速度都黑白常快的,不会呈现需要期待很长期,所以瓶颈并不会出现在请求读写上,所以没必要使用多线程来利用CPU,如果使用多线程的话(线程数>CPU数情况下),多线程的建立、烧毁、线程切换、线程合作等开消所需要的时候会比执行读写所消耗的时间还多,那就背道而驰了,固然这是在数据量小的时辰才会如许,如果数据量达到一定量级了,那必定是多线程比单线程快(线程数<=CPU数情况下)。
长期化
Redis可以经由过程RDB
和AOF
两种方法将数据持久化到磁盘上,此中这两种方式的区分以下:
- RDB:是在指定的时间隔断内将内存中的数据通过异步天生数据快照而且保留到磁盘中。
- AOF:相对于于
RDB
方式,AOF
方式的持久化更细粒度,把每次数据变革(写、删除操作)都记实AOF文件中,其中AOF又可以设置装备摆设为always
即及时将记录写到AOF文件中,everysec
每隔一秒将记录写到AOF文件中,no
由系统决议什么时候将记录写到AOF文件中。
多种数据结构
Redis支持五种根本的数据结构,别离是String(字符串),Hash(哈希),List(列表),Set(调集),Zset(即Sorted Set有序集合),这些数据结构范例和我们使用的开辟语言的数据结构类型实在是相对应的。
多语言客户端
Redis支持多种语言,诸如Ruby,Python, Twisted Python, PHP, Erlang, Tcl, Perl, Lua, Java, Scala, Clojure等。
功效丰富
Redis支持公布定阅、Lua剧本、事件、Pipeline等功能。
主从复制
在Redis中,用户可以通过执行SLAVEOF号令大概SLAVEOF选项,让从服务器去复制主服务器,为高可用和分布式供给了底子。
高可用和集群
高可用
有了主从复制以后的实现之后,如果想对服务器举行监控,那末在Redis2.6
今后提供了一个Sentinel
(尖兵机制)。望文生义,哨兵的寄义便是监控Redis系统的运转状况,可以启动多个哨兵,去监控Redis数据库的运行状态。其功能有如下两点:
a.监控全部节点数据库是不是一般运行
b.主数据库出现妨碍时,可以通过主动投票机制,在从数据库推举出新的主数据库,实现将从数据库转为主数据库的自动切换。集群
Redis在3.0版本正式引入了Redis-Cluster
集群这个特征。Redis-Cluster采用无中间架构,每一个节点保存完备的数据和全部集群的状态,每个节点都和其余所有节点毗连。
安置和启动
使用wget
命令下载Redis
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
解压Redis压缩包
tar xzf redis-5.0.3.tar.gz
进入到Redis的文件夹
cd redis-5.0.3
编译Redis
make
这样我们的Redis就编译好了,为了能全局使用Redis的命令,我们还需要执行安装命令,将可执行文件安装到环境变量中。
make install
这样Redis的安装就完成了,我们来启动Redis,其中Redis的启动有三种方式
- 间接启动 直接执行
redis-server
便可启动Redis,这个方式启动实际上就是读取Redis的默许配置启动。 - 静态参数启动 执行
redis-server --port 6380
即可指定端口号启动Redis,更多参数可以参考民间的文档。 - 配置文件启动 执行
redis-server config.conf
即可指定名为config.conf
的配置文件进行启动Redis。