一、Redis 介绍

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系。但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一:

  • String(字符串)
  • Lists (列表)
  • Sets (集合)
  • ZSet (Sorted sets 有序集合)
  • Hashes (哈希表)

键值的数据类型决定了该键值支持的操作。Redis支持诸如列表、集合或有序集合的交集、并集、差集等高级原子操作。同时,如果键值的类型是普通数字,Redis则提供自增等原子操作。

通常,Redis将数据存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据持久化:使用快照的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。

Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。

相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给Redis带来了非常优秀的性能。读写操作之间有显著的性能差异。

二、Redis 在 Windows 下的安装

Redis官方(http://redis.io/)提供了源代码下载但是并不能直接运用与Windows系统,好在牛人做了一个第三方的预编译文件。

下载地址为:https://github.com/dmajkic/redis/downloads

在上面的地址下载合适的版本,解压下载后的文件夹,你会看到有 32 位 或 64 位两个文件夹,选择合适你电脑的版本。

这里我选择了 64 位版本。因为 Redis 除了要有服务器端之外,还需要有客户端,因此我将 64bit 文件夹再复制两份,再重新命名,将它们分别作为服务端和2个客户端(其实你也可以不这样做,但这样做我感觉结构更清晰些)。

运行 redis64bit_server/redis-server.exe,命令行会一直提示:目前有 0 个用户连接。

之后运行 redis64bit_client_1/redis-cli.exe、redis64bit_client_2/redis-cli.exe 连接 Redis 服务器,服务端会接收到响应,提示已收到连接请求,并显示已有 2 个客户端连接。

此时,我们在 client1 中用 "set hello world" 存入字符串,在client2 中也可以获取到该数据。

三、Redis 在 Linux 下的安装

首先,利用 wget 命令直接下载、解压、编译安装包:

$ wget http://download.redis.io/releases/redis-3.0.3.tar.gz
$ tar xzf redis-3.0..tar.gz
$ cd redis-3.0.
$ make

这样 Redis 就可以使用了。我们运行服务端

$ src/redis-server

运行一个客户端:

$ src/redis-cli

在客户端测试一下:

redis> set foo bar
OK
redis> get foo
"bar"

Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个 redis.conf 就构成了整个 redis 的最终可用包。它们的作用如下:

  • redis-server:Redis服务器的daemon启动程序。
  • redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作。
  • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能。
  • redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。

1.Redis 的安装的更多相关文章

  1. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  2. Linux下Redis的安装和部署

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

  3. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用

    在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...

  4. Linux下Redis的安装与配置

    redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括stri ...

  5. [nosql之redis]yum安装redis

    1.首先对于这种nosql来说目前我用到的功能很少,所以感觉没有必要去优化他跟不需要去编译安装.今天来介绍下一个yum安装redis 步骤1:安装扩展yum库 [root@localhost ~]# ...

  6. Linux下redis的安装

    第一部分:安装redis 希望将redis安装到此目录 /usr/local/redis 希望将安装包下载到此目录 /usr/local/src 那么安装过程指令如下: $ mkdir /usr/lo ...

  7. redis的安装和启动

    Windows下Redis的安装及PHP扩展使用 时间 2014-10-28 17:47:09  CSDN博客 原文  http://blog.csdn.net/wyqwclsn/article/de ...

  8. linux下redis的安装与部署及基础命令

    <1>下载安装文件:redis-3.2.5.tar.gz 放在opt目录下 <2> tar -zxvf redis-3.2.5.tar.gz,备份redis.conf到自己的目 ...

  9. redis/php redis扩展 安装

    作者:silenceper 日期:2013-10-03 原文地址: http://silenceper.com/archives/952.html 我是在CentOS 6.3 中进行的. 使用到的软件 ...

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

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

随机推荐

  1. Matlab中plot函数全功能解析

    Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName ...

  2. Java重写equals()和hashCode()

    1.何时需要重写equals() 当一个类有自己特有的 ”逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用instanceof操作符检查 ”实参是否为正确的类型”. [2 ...

  3. PDO预处理语句规避SQL注入攻击

    所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存 ...

  4. 算法笔记_066:Kruskal算法详解(Java)

    目录 1 问题描述 2 解决方案 2.1 构造最小生成树示例 2.2 伪码及时间效率分析 2.3 具体编码(最佳时间效率)   1 问题描述 何为Kruskal算法? 该算法功能:求取加权连通图的最小 ...

  5. sqlserver的一些小知识点

    1.高效分页sql和储存过程 select top 每页条数 * from ( select ROW_NUMBER() over (order by id)as nid ,* from table01 ...

  6. C/C++ char数组存储字符串内存地址

    问题描述: #include <stdio.h> int main(void) { //program 6.3 Arrays of strings ][]; ;i<;++i){ ;j ...

  7. Selenium 切换句柄

    最近用了网络上别人的一段切换窗口的code每次成功了,不错,学习 // 根据Title切换新窗口 public boolean switchToWindow_Title(WebDriver drive ...

  8. 弹出层js要这样加才不会失效

    $('body').on('click','.check_eln',function(){    $('#eln_show').toggleClass('hidden'); });

  9. 微信小程序入门之构建一个简单TODOS应用

    最近开始了解微信小程序,虽然小程序已经出了很久了,刚出的那段时间很火,看到很多关于小程序的技术文章,不过现在似乎没那么火了,anyway,我们还是可以学习下的. 一.了解微信小程序 1.理念:小程序开 ...

  10. Prince2学习有感:PRINCE2项目管理到底是什么?

      2007年1月份,我加入了荷兰Irdeto(中国)有限公司.刚进入公司,我就结识了Prince2(受控环境下的项目管理),才知道Prince2是英国政府在政府项目中使用的项目管理标准. 这个标准早 ...