zoukankan      html  css  js  c++  java
  • Redis 介绍及安装配置

    简介

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

    Redis 与其他 key - value 缓存产品比较有以下三个特点:

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

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

      Redis支持数据的备份,即master-slave模式的数据备份,memcache 不支持。

    应用场景

    消息模式

    队列模式         #所有生产者把生产的消息放入同一个列表,等着消费者去消费

      所有应用按顺序插入值到list1 中,消费者通过rpop/lpop 命令,按顺序执行删除命令,此命令会返回被删除的值,此过程可以理解为消息的消费。


    订阅发布模式       #一个频道,客户端订阅频道。发送者发送关消息,订阅者接收消息。场景:微博关注
      SUBSCRIBE mq1 #消费者先订阅,订阅频道可以事先不存在
      PUBLISH mq1 "hello man" #生产者往频道推送消息

    Redis 特性

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

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

    3.原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

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

    Linux 下安装

    下载地址:http://redis.io/download,下载最新稳定版本。

    本教程使用的最新文档版本为 2.8.17,下载并安装:

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

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

    下面启动redis服务.注意这种方式启动redis 使用的是默认配置。

    $ cd src
    $ ./redis-server

    也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。

    $ cd src
    $ ./redis-server ../redis.conf

    redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

    启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

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

    redis 配置

    1、daemonize介绍

      yes  以守护进程方式在后台启动

      no  启动后占用当前终端

    2、设置密码

      requirepass   test123

      重启服务生效

    4、开启远程访问

      bind 127.0.0.1      #更改为0.0.0.0

      protected-mode no    注:在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错,所以需要配置为这样。

    5、关于持久化详见该文章

    同一台服务器配置多个实例时配置

      1.更改端口,防止冲突
      2.更改 pidfile
      3.更改 logfile

    命令

    redis-server   redis.conf                #指定文件来启动,不指定会加载默认配置启动
    
    redis-cli -h 1.1.1.1 -p 6380           #端口不是默认的,连接时需指定,不指定IP默认访问 127.0.0.1

    登陆后操作:
    auth passwd                  #如果设置了require pass 需要登陆后认证否则无法操作
    SHUTDOWN                    #关闭数据库,比kill 更好的关闭命令
    config get *                  #获取当前所有配置信息
    config set loglevel "notice"        #设置日志级别,只在当前生效,重启后失效
    type name                    #查看字段类型
    info
    cliet list
    monitor                     #监控redis 上面执行操作,当前终端显示其他客户端对redis的操作
    save                       #
    无持久化策略时执行此命令会自动生成dump.rdb ,只要有此文件在redis 目录中,启动redis 后会自动加载该文件把数据#加载到内存当中去。
    
    
    
  • 相关阅读:
    Codeforces Gym 101142C:CodeCoder vs TopForces(搜索)
    L2-011. 玩转二叉树
    zoj 2976 Light Bulbs(暴力枚举)
    ZOJ 2975 Kinds of Fuwas(暴力+排列组合)
    ZOJ-2972-Hurdles of 110m(线性dp)
    ZOJ 2971 Give Me the Number (模拟,字符数组的清空+map)
    zoj 2966 Build The Electric System(最小生成树)
    ZOJ 2965 Accurately Say "CocaCola"!(预处理)
    HDU 3452 Bonsai(树形dp)
    zoj 3212 K-Nice(构造)
  • 原文地址:https://www.cnblogs.com/fanggege/p/10314538.html
Copyright © 2011-2022 走看看