Nosql数据库——redis(二)简介和安装

 1.      简介

  概念

  Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。

  Redis是一个key-value存储系统,它支持存储的value类型很多,包括String(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都是支持push/pop、add/remove及交集和并集及更丰富的操作的,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中的,但是也是可以周期性的把数据写进磁盘的,或者把修改操作写入追加的记录的文件。

  也就是说保存数据存在两种方式:写入数据库,在内存中做个快照。

  特点

  (1)Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

  (2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  (3)Redis支持数据的备份,即master-slave模式的数据备份。

  不同于其他的key-value存储,Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

  Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

  优势

  (1)性能极高– Redis能读的速度是110000次/s,写的速度是81000次/s 。

  (2)丰富的数据类型– Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 OrderedSets 数据类型操作。

  (3)原子– Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

  (4)丰富的特性– Redis还支持 publish/subscribe, 通知, key 过期等等特性

 2.      下载和安装

  下载

  从网上下载相应的redis包,下载地址是:https://github.com/dmajkic/redis/downloads

  下载到的Redis支持32bit和64bit,可以根据自己的实际需要去选择,之后将需要的版本进行解压,最好安装盘符进行命令比如我的是D:\360安全浏览器下载\redis\64bit,但是最好不要含中文目录,最好的命名是D: \redis\64bit。

      如果是Linux的话,下载地址是:http://redis.io/download;里面含有多个版本,最好是下载新的,并且是稳定的版本。

     不同于window下下载的redis包,Linux下的包下面是没有redis-server,只有当执行make编译命令后才会出现redis-server。

  安装

   Window上安装

  Redis可以安装在Linux上面也是可以安装在Windows上面的,我们以window为例。

  Window上解压的目录是:

  启动服务有两种方式:然后双击redis-server.exe即可开启服务端;第二种是使用配置文件启动【redis.conf】输入cmd,输入命令(redis-server.exe redis.conf):


  显示的连接数是0:

  此时打开一个redis客户端进行服务器的访问,同样是存在两种方式: 双击redis-client.exe即可启动客户端了,另一种方式是redis-cli.exe -h 127.0.0.1 -p 6379;【redis服务的默认端口是6379;mysql数据库的默认端口是3306;而memcached的默认端口是11211】

  此时效果图:此时表示连接已经建立(必须切换到redis的目录)


  设置键值对(set key1firstRedisExample)和获取键值对(get key1):


  至此window下redis安装完毕。

  上面命令的执行必须切换到目录下面才是可以,为了方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,如果省略,会启用默认的。

   Linux上安装

  关于Linux下面的安装,由于机器没有安装Linux系统以及虚拟机,在此列出在Linux上操作的命令。

  下载安装包:

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

  Wget是Linux上的下载命令。

  解压redis包:

   $ tar xzf redis-2.8.17.tar.gz

  切换到解压目录:

   $ cd redis-2.8.17

  目录结构:


  Src下面的类:


  此时发现没有redis-server.exe,上面我们已经提到了只要编译后才会生成redis-server命令。

  编译命令make:

   $ make

  make完后redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下。

  如何启动服务呢?

  切换到安装目录:

   $ cd src

  Redis-server启动服务:

   $ ./redis-server

  这是一种以启动默认配置的方式,当然也是可以通过启动参数来告诉redis使用指定的配置文件启动:

   $ cd src

   $ ./redis-server redis.conf

  服务开启后就可以使用测试客户端与服务建立连接,从而进行交互了。

   $ cd src

   $ ./redis-cli

  同理,此时我们可以执行在window下设置的键值,来做测试例子,同样会输出我们上面的结果,大家有条件的就试试吧。

       至此Linux下的命令介绍的差不多了,下篇我们主要讲述redis丰富的数据类型,请持续关注~

 

第一部分  NoSQL入门 第1章  NoSQL的概念及适用范围 2 1.1  定义和介绍 3 1.1.1  背景与历史 3 1.1.2  大数据 5 1.1.3  可扩展性 7 1.1.4  MapReduce 8 1.2  面向列的有序存储 9 1.3  键/值存储 11 1.4  文档数据库 14 1.5  图形数据库 15 1.6  小结 16 第2章  NoSQL上手初体验 17 2.1  第一印象——两个简单的例子 17 2.1.1  简单的位置偏好数据集 17 2.1.2  存储汽车品牌和型号数据 22 2.2  使用多种语言 30 2.2.1  MongoDB驱动 30 2.2.2  初识Thrift 33 2.3  小结 34 第3章  NoSQL接口与交互 36 3.1  没了SQL还剩什么 36 3.1.1  存储和访问数据 37 3.1.2  MongoDB数据存储与访问 37 3.1.3  MongoDB数据查询 41 3.1.4  Redis数据存储与访问 43 3.1.5  Redis数据查询 47 3.1.6  HBase数据存储与访问 50 3.1.7  HBase数据查询 52 3.1.8  Apache Cassandra数据存储与访问 54 3.1.9  Apache Cassandra数据查询 55 3.2  NoSQL数据存储的语言绑定 56 3.2.1  Thrift 56 3.2.2  Java 56 3.2.3  Python 58 3.2.4  Ruby 59 3.2.5  PHP 59 3.3  小结 60 第部分  NoSQL基础 第4章  理解存储架构 62 4.1  使用面向列的数据库 63 4.1.1  使用关系型数据库中的表格和列 63 4.1.2  列数据库对比RDBMS 65 4.1.3  列数据库当做键/值对的嵌套映射表 67 4.1.4  Webtable布局 70 4.2  HBase分布式存储架构 71 4.3  文档存储内部机制 73 4.3.1  用内存映射文件存储数据 74 4.3.2  MongoDB集合和索引使用指南 75 4.3.3  MongoDB的可靠性和耐久性 75 4.3.4  水平扩展 76 4.4  键/值存储Memcached和Redis 78 4.4.1  Memcached的内部结构 78 4.4.2  Redis的内部结构 79 4.5  最终一致性非关系型数据库 80 4.5.1  一致性哈希 81 4.5.2  对象版本 82 4.5.3  闲话协议和提示移交 83 4.6  小结 83 第5章  执行CRUD操作 84 5.1  创建记录 84 5.1.1  在以文档为中心的数据库中创建记录 85 5.1.2  面向列数据库的创建操作 91 5.1.3  键/值映射表的创建操作 93 5.2  访问数据 96 5.2.1  用MongoDB访问文档 96 5.2.2  用HBase访问数据 97 5.2.3  查询Redis 98 5.3  更新和删除数据 98 5.3.1  使用MongoDB、HBase和Redis更新及修改数据 98 5.3.2  有限原子性和事务完整性 99 5.4  小结 100 第6章  查询NoSQL存储 101 6.1  SQL与MongoDB查询功能的相似点 101 6.1.1  加载MovieLens数据 103 6.1.2  MongoDB中的MapReduce 108 6.2  访问HBase等面向列数据库中的数据 111 6.3  查询Redis数据存储 113 6.4  小结 116 第7章  修改数据存储及管理演进 117 7.1  修改文档数据库 117 7.1.1  弱schema的灵活性 120 7.1.2  MongoDB的数据导入与导出 121 7.2  面向列数据库中数据schema的演进 124 7.3  HBase数据导入与导出 125 7.4  键/值存储中的数据演变 126 7.5  小结 126 第8章  数据索引与排序 127 8.1  数据库索引的基本概念 127 8.2  MongoDB的索引与排序 128 8.3  MongoDB里创建和使用索引 131 8.3.1  组合与嵌套键 136 8.3.2  创建唯一索引和稀疏索引 138 8.3.3  基于关键字的搜索和多重键 139 8.4  CouchDB的索引与排序 140 8.5  Apache Cassandra的索引与排序 141 8.6  小结 143 第9章  事务和数据完整性的管理 144 9.1  RDBMS和ACID 144 9.2  分布式ACID系统 147 9.
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值