世界上最伟大的投资就是投资自己的教育

全场限时 5 折

首页Redis
随风 · 练气

Redis 学习笔记系列文章之 Redis 的安装与配置 (一)

随风发布于2159 次阅读

1. 介绍

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker.

这是官方的定义。说它是一个数据库,且是把数据存到内存中,能用作 cache(缓存) 和消息队列。说到数据库,可能大家用得最多的是关系型数据库,比如 MySQL,PostgreSQL 等。这种数据库是把数据存到磁盘中的,这种能存大量的数据,然而我们的应用是经常需要访问数据库来查找数据,每次访问,无论怎样,都是需要消耗 CPU 和 IO 等待。当应用的数据积累到很庞大时,这种性能的问题更严重,所以有一种解决方法是这样的,把经常被访问的数据放到内存中,因为内存的访问速度比磁盘快太多了,而这部分数据可能不会是全部的数据,因为内存的价格比磁盘贵多了。所以有了 memcached,这种就是把数据放到内存中,但它支持一种最简单的数据结构,就是键值对,这种数据库又不同于传统结构型的关系型数据库,所以又被称为 nosql。

而 redis 也是 nosql 的一种,但它相比 memcached 不仅支持键值对,还支持列表,集合,排序集合等结构,而且它还是可持久化的。持久化就是说在内存中的数据会以文件的形式同步到磁盘中,当下次重启时还能恢复,这点相比 memcached,就能存相对重要的数据,毕竟,如果数据不能持久化,丢失了也是件麻烦的事,谁也保证不了不会出问题。

还有一个很重要的特征就是 redis 支持分布式集群,用它可以轻易地部署到多台机器中,成为一个集群。特别是 3.0 开始,redis 对集群的支持比较健全了。

redis 比较常见的作用,第一个是 cache,这是由于它的数据存在内存中,访问速度比较快,它能让数据在一定时间后过期,且又有丰富的数据结构的支持,所以它能作为一个高性能的 cache。第二个是作为消息队列,用的是它的brpop的功能,它是一个阻塞型的队列系统,"b"就是"block"的意思嘛,"r""right"的意思。

2. 安装

比较常见的有两种安装方式,第一是命令安装,第二是源码编译安装。命令安装可能并不会安装到最新的版本,因为软件源的 redis 版本也未必是最新的,但是胜在方面快速。

如果是 ubuntu 系统,可以这样。

2.1 命令安装

如果是 ubuntu 系统,可以这样。

$ sudo apt-get install redis-server

mac 系统用以下命令。

$ brew install redis
2.2 编译安装

首先下载官方稳定版的 tar 包。

$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz

解压缩编译安装。

$ tar xvf redis-3.0.5.tar.gz
$ cd redis-3.0.5
$ make
$ sudo make install

这样就安装好了,接下来启动服务器。

$ src/redis-server

测试。

src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

这样很不方便。每次都要进到那个目录才能执行 redis-server 或 redis-cli。

其实 redis 的源码提供了一个工具,让你能够使用类似/etc/init.d/server start这样的命令来启动 redis 服务。

只要运行 utils 目录下的 install_server.sh 脚本文件就好了。

$ cd utils
$ sudo ./install_server.sh

3. 配置文件

正如大多数的 linux 服务一样,都是通过配置文件来改变应用的特性的。redis 的配置文件一般是/etc/redis/redis.conf

打开该文件,里面有很多详细的注释,解决了每个参数的意义和用法。

有一些配置项可常见于大多数 linux 服务,比如指定 pid 文件的位置,指定 port(端口),日志等。

除了这些,还有一些是 redis 特有的,我们只是对配置文件有个大局的掌握,先介绍两个比较重要,其他的留待后绪介绍具体功能的时候再来介绍。

假如现在你装好了 redis 服务,放在了远程服务器上,这个时候有个安全问题要注意,那就关于登录的。

默认情况下 redis 是不用密码就能登录的,即使是在远程上,所以很不安全。我们要设置一下。

在配置文件中把下面一行开启就好了。

bind 127.0.0.1

这代表 redis 和你本机的 linux 机器绑定在一起,只有那台 linux 机器才能登录。

还有另一个问题,就是关于内存的。作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在 redis 的配置文件里面设置。

# 限定最多使用1.5GB内存
maxmemory 1536mb

另外,当你的 redis 已经在用了,这个时候你又要改配置,就是需要类似重新加载配置文件的功能。

而 redis 也提供了CONFIG SETCONFIG GET功能,这个可以在线上更改 redis 的配置。

完结。

下一篇:RedisRedis 学习笔记系列文章之 Redis 的数据类型与应用场景 (二)

本站文章均为原创内容,如需转载请注明出处,谢谢。

0 条回复
暂无回复~~
相关小书
redis入门与应用教程

redis入门与应用教程

redis从入门开始讲起,通过应用来深入理解redis

发表于

喜欢
统计信息
    学员: 29066
    视频数量: 1973
    文章数量: 489

© 汕尾市求知科技有限公司 | Rails365 Gitlab | Qiuzhi99 Gitlab | 知乎 | b 站 | 搜索

粤公网安备 44152102000088号粤公网安备 44152102000088号 | 粤ICP备19038915号

Top