Redis入门介绍目录导航:

  • 入门概述
  • VMWare + VMTools千里之行始于足下
  • Redis的安装
  • Redis启动后杂项基础知识讲解

入门概述

  • 是什么

    • Redis:REmote DIctionary Server(远程字典服务器)

    • 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(Key/Value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人民称为数据结构服务器。
    • Redis 与其他 Key - Value 缓存产品有以下三个特点
      • Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载进行使用
      • Redis不仅仅支持简单的Key-Value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
      • Redis支持数据的备份,即master-slave模式的数据备份
  • 能干嘛
    • 内存存储和持久化:Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
    • 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
    • 模拟类似于HttpSession这种需要设定过期时间的功能
    • 发布、订阅消息系统
    • 定时器、计数器
  • 去哪下
    • https://redis.io/
    • http://www.redis.cn/
  • 怎么玩
    • 数据类型、基本操作和配置
    • 持久化和复制,RDB/AOF
    • 事务的控制
    • 复制
    • ......

VMWare+VMTools千里之行始于足下

  • VMWare虚拟机的安装
  • CentOS或者RedHad5的安装
    • 如何查看自己的Linux是32位还是64位

getconfig LONG_BIT 返回是多少就是几位

    • 假如出现了不支持虚拟化的问题

我的笔记本cpu是64位的,操作系统也是64位的,问题应该如虚拟机右下角提示所说,

是“宿主机BIOS设置中的硬件虚拟化被禁用了。”需要打开笔记本BIOS中的IVT对虚拟化的支持。找到菜单“Security”–“System Security”,将Virtualization Technology(VTx)和Virtualization Technology DirectedI/O(VTd)设置为 Enabled。保存并退出BIOS设置,重启电脑,

  • VMTools的安装
  • 设置共享目录
  • 上述环境都OK后开始进行Redis的服务器安装配置

Redis的安装

  • Windows版安装

Window 下安装
下载地址:https://github.com/dmajkic/redis/downloads
下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids
打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf 。
如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,
如果省略,会启用默认的。输入之后,会显示如下界面:

  • 重要提示:

  • Linux版安装

    • 下载获得redis-3.0.4.tar.gz后将它放入我们的Linux目录/opt
    • /opt目录下,解压命令:tar -zxvf redis-3.0.4.tar.gz
    • 解压完成后出现文件夹:redis-3.0.4

    • 进入目录:cd redis-3.0.4

    • 在redis-3.0.4目录下执行make命令

      • 运行make命令时故意出现的错误解析:

        • 安装gcc

gcc是linux下的一个编译程序,是C程序的编译工具。
GCC(GNU Compiler Collection) 是 GNU(GNU's Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

          • 能上网:yum install gcc-c++
          • 不上网:
        • 二次make
        • Jemalloc/jemalloc.h:没有那个文件或目录
          • 运行make distclean之后再make

        • Redis Test(可以不用执行)

下载TCL的网址:http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html

安装TCL

    • 如果make完成后继续执行make install

    • 查看默认安装目录:usr/local/bin

      • Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
        • 服务启动起来后执行
      • Redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
      • Redis-check-dump:修复有问题的dump.rdb文件
      • Redis-cli:客户端,操作入口
      • Redis-sentinel:redis集群使用
      • Redis-server:Redis服务器启动命令
    • 启动

      • 修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动
      • 将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myconf
      • 启动

      • 连通测试

      • /usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件
    • 永远的helloworld

    • 关闭

      • 单实例关闭:redis-cli shutdown
      • 多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

Redis启动后杂项基础知识讲解

  • 单进程
    • 单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率

    • Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

  • 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
    • 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id databases 16 
  • Select命令切换数据库
  • Dbsize查看当前数据库的key的数量
  • Flushdb:清空当前库
  • Flushall;通杀全部库
  • 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上
  • Redis索引都是从零开始
  • 为什么默认端口是6379

Redis(二):Redis入门介绍的更多相关文章

  1. redis(二)redis+TCMALLOC高性能的缓存服务器的安装配置

    安装  1准备编译环境    yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel  2 下载源码包(由于goog ...

  2. Redis 二:入门基本篇

    .多数据库设置 - ,代表16个数据库 .glob风格通配符 keys * 返回所有 keys ba? 返回 bar keys b[a-z][a-z] 返回btt bar \x 匹配转义字符 .判断一 ...

  3. Redis(二):Redis的九大应用场景

    毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...

  4. redis(二)-----redis基本数据类型之字符串

    Redis的全称是REmote Dictionary Server,它主要提供了5种数据结构:字符串.哈希.列表.集合.有序集合,同时在字符串的基础之上演变 出了位图(Bitmaps)和HyperLo ...

  5. 二:Redis快速入门及应用

    Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...

  6. Python 基于python操纵redis入门介绍

    基于python操纵redis入门介绍 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...

  7. Redis入门(介绍、搭建)——Windows、Centos环境

    一.介绍 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cac ...

  8. 2、Redis入门介绍

    1.什么是Redis Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数 ...

  9. Redis系列二:reids介绍

    一.什么是redis.redis有哪些特性.redis有哪些应用场景.redis的版本 1. 什么是redis redis是一种基于键值对(key-value)数据库,其中value可以为string ...

随机推荐

  1. .net core系列之《从源码对Configuration的底层运行机制进行分析》

    通过对Configuration源代码的分析从而来自定义一个配置数据源 1.用反编译工具来看看AddJsonFile()这个方法究竟干了什么,源代码如下: public static IConfigu ...

  2. EasingAnimation

    EasingAnimation https://github.com/YouXianMing/EasingAnimation This class is used for Easing animati ...

  3. [翻译] ABCIntroView

    ABCIntroView ABCIntroView is an easy to use onboarding which allows you to introduce your users to t ...

  4. Python实例---利用正则实现计算器[参考版]

    利用正则进行运算规则的计算 版本一: # import re # # ss = '1 - 2 * ((60 - 30 + (-40/5) * (9 - 2 * 5 / 3 + 7 / 3 * 99 / ...

  5. Python学习---抽屉框架分析[数据库设计分析]180313

    基本的: models.py ####################################以下都是抽屉的代码#################################### fro ...

  6. Python中readline()函数 去除换行符

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...

  7. 11、Node.js 函数

    内容:普通函数,匿名函数,函数传递是如何让HTTP服务器工作的 ###普通函数例子: function say(word) { console.log(word); } function execut ...

  8. ios 性能优化概述

    在开发IOS程序的时候,不止是简简单单的把代码堆砌起来,或者说有一个比较好的架构,程序就ok的.还需要在程序性能上进行优化.所谓优化,并非只是简单的优化几个算法,让程序看起来跑的更快.优化是有目标的, ...

  9. ethereumjs/ethereumjs-block-2-api

    https://github.com/ethereumjs/ethereumjs-block/blob/master/docs/index.md 详细的调用代码可见本博客的ethereumjs/eth ...

  10. [转]MBTiles 1.2 规范翻译

    MBTiles 1.2 可以参考超图的文档MBTiles扩展具体实现可以参考浅谈利用SQLite存储离散瓦片的思路和实现方法 mapbox提供了一个简单实现测试代码,github地址在这里https: ...