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。第二个是作为消息队列,用的是它的sub/pub的功能,能具有消息费生产者的模式,且是数据存在内存中,访问速度高。

 

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的配置。

完结。

redis的安装与配置(一)的更多相关文章

  1. [Linux]Linux下redis的安装及配置.

    在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, ...

  2. Redis的安装、配置 --转载

    原文地址:http://blog.sina.com.cn/s/blog_505bf9af0101ehhp.html redis的安装.配置 安装步骤如下:下载redis安装包:$ cd /opt/ap ...

  3. Redis:安装、配置、操作和简单代码实例(C语言Client端)

    Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...

  4. mac与centos下redis的安装与配置

    前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services sta ...

  5. 最新版redis的安装及配置 linux系统

    1.redis下载 官网地址:https://redis.io/download 百度云地址:链接:http://pan.baidu.com/s/1c1Hu2gK 密码:h17z 2.解压 [root ...

  6. c#连接Redis Redis的安装与配置

    Redis是一个不错的缓存数据库,读取数据速度效率都很不错.今天大家共同研究下redis的用法.结合网上的资料和自己的摸索,先来看下安装与配置把. 咱们主要看在WINDOWS上怎样使用REDIS数据库 ...

  7. centos6.8下redis的安装和配置

    centos6.8下redis的安装和配置 下载.安装 在redis官网可以获取到最新版本的redis 进入/usr/local/目录,执行如下命令 wget http://download.redi ...

  8. linux下redis的安装及配置启动

    linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报  分类: 数据与性能(41)  wget http:/ ...

  9. windows上redis的安装和配置

    windows上redis的安装和配置 进入到Redis的根目录D:\Programming\Redis\Redis6379\Redis-x64-3.2.100底下操作: 配置文件启动 redis-s ...

  10. 莫小安 Linux下Redis的安装与配置

    转载自--Linux下Redis的安装与配置 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它 ...

随机推荐

  1. Spring可扩展的XML Schema机制

    可扩展的XML Schema机制 从Spring2.0开始,Spring提供了XML Schema可扩展机制,用户可以自定义XML Schema文件,并自定义XML Bean解析器,并集成到Sprin ...

  2. PHP学习笔记(1)数组函数

    1.数组的键值操作函数: $arr = array("小明" => 98, "小红" => 76, "小黑" => 66, ...

  3. word中特殊符号的替换

    首先在word里替换快捷键是ctrl+H,点击“更多”,会出现更多选项,在特殊格式那里可以选在各种符号,比如回车,空格什么的. 有的时候在word里看不到一些格式,需要点一下下图的对着的两个箭头图标: ...

  4. Action方法调用

    一.Action访问路径 Action的访问路径是由struts.xml文件中配置的Action所在包的命名空间,Action的名字和常struts.action.extension共同决定的 例如: ...

  5. [J2EE]MyBatis HelloWorld

    一.MyBatis简单介绍 iBatis是apche的一个开源项目.2010年迁移到google code后改名为MyBatis,2013年前已到github.MyBatis是一个基于java的持久层 ...

  6. 【JMeter4.0】之遇到的问题总结(持续更新)

    目录: 一.图形结果监听器选择文件报错 二.TCP取样器压测出现500 错误,读取数据超时 三.如何解决JMeter通过JDBC访问MySQL的问题总结 四.如何解决JMeter通过JDBC访问Ora ...

  7. pl/sql 实例精解 03

    1. 在Pl/sql 中使用 sql 1: /* 2: * 一个 pl/sql 语句块, 只是一个容器, 是表明一个整体的容器, 容器里可以放置多个sql语句 3: */ 4:   5: declar ...

  8. K-NN算法 学习总结

    1. K-NN算法简介 K-NN算法 ( K Nearest Neighbor, K近邻算法 ), 是机器学习中的一个经典算法, 比较简单且容易理解. K-NN算法通过计算新数据与训练数据特征值之间的 ...

  9. 用HTML创建表格

    本章目标:了解掌握表格的基本结构<table><tr><th><td> 掌握跨行.跨列属性colspan rowspan 掌握表格相关修饰属性borde ...

  10. C++三大函数(The Big Three)

    本文用Markdown编辑,这里对Markdown的支持不完善,更好的阅读体验请移步:我的Markdown文本 C++三大函数: 析构函数 复制构造函数 operator= 析构函数 函数模样:~S( ...