zoukankan      html  css  js  c++  java
  • redis数据库

    详细信息:https://pan.baidu.com/s/1SmTWTXB7Zpa6oRPlQmfspw

    一 简介

     redis的简介:

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

      redis与其他的key-value缓存产品有以下三个特点:

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

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

       redis支持数据的备份,即master-clave模式的数据备份

     redis的优势:

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

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

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

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

     redis与其他的key-value存储有什么不同:

        Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
    
        Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
    View Code

    二 安装使用

     

    Window 下安装

    下载地址:https://github.com/MSOpenTech/redis/releases

    Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis

    打开一个 cmd 窗口 使用cd命令切换目录到 C: edis 运行 redis-server.exe redis.windows.conf

    如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

    Redis 安装

    这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

    切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379

    设置键值对 set myKey abc

    取出键值对 get myKey

    Redis 安装


    Linux 下安装

    一、下载
    cd /usr/local/src
    wget http://download.redis.io/releases/redis-3.0.4.tar.gz
    tar zxvf redis-3.0.4.tar.gz
    
    二、安装
    mv redis-3.0.4 /datarver/redis
    cd /datarver/redis
    make
    
    
    三、配置
    vim /datarver/redis/redis.conf
    daemonize  yes
    logfile "/data/logs/redis/redis.log"
    
    #save 900 1
    #save 300 10
    #save 60 10000
    
    /datarver/redis/src/redis-server
    
    四、系统
    开放防炎墙端口
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    service iptables save
    
    五、启动
    /datarver/redis/src/redis-server /datarver/redis/redis.conf
    
    六、加入开机启动
    echo '/datarver/redis/src/redis-server /datarver/redis/redis.conf' >> /etc/rc.local
    View Code

    下载地址: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服务.

    $ cd src
    $ ./redis-server

    注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉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"

    Ubuntu 下安装

    在 Ubuntu 系统安装 Redis 可以使用以下命令:

    $sudo apt-get update
    $sudo apt-get install redis-server

    启动 Redis

    $ redis-server

    查看 redis 是否启动?

    $ redis-cli

    以上命令将打开以下终端:

    redis 127.0.0.1:6379>

    127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

    redis 127.0.0.1:6379> ping
    PONG

    以上说明我们已经成功安装了redis。

     

    2 篇笔记

    1.    chenming

        203***5172@qq.com

        参考地址

      Mac 下安装

       1. 官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0

       2. sudo mv 到 /usr/local/

       3. sudo tar -zxf redis-3.2.0.tar 解压文件

       4. 进入解压后的目录 cd redis-3.2.0

       5. sudo make test 测试编译

       6. sudo make install 

      chenming

         chenming

        203***5172@qq.com

        参考地址

      9个月前 (06-30)
    2.    mengjun

        813***532@qq.com

      mac 下安装也可以使用 homebrew,homebrew 是 mac 的包管理器。

      1、执行 brew install redis

      2、启动 redis,可以使用后台服务启动 brew services start redis。或者直接启动:redis-server /usr/local/etc/redis.conf

      mengjun

         mengjun

        813***532@qq.com

      9个月前 (07-03)

     四 数据类型

     

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。


    String(字符串)

    string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

    string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

    string类型是Redis最基本的数据类型,一个键最大能存储512MB。

    实例

    redis 127.0.0.1:6379> SET name "runoob"
    OK
    redis 127.0.0.1:6379> GET name
    "runoob"

    在以上实例中我们使用了 Redis 的 SETGET 命令。键为 name,对应的值为 runoob

    注意:一个键最大能存储512MB。


    Hash(哈希)

    Redis hash 是一个键值(key=>value)对集合。

    Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    实例

    redis> HMSET myhash field1 "Hello" field2 "World"
    "OK"
    redis> HGET myhash field1
    "Hello"
    redis> HGET myhash field2
    "World"

    以上实例中 hash 数据类型存储了包含用户脚本信息的用户对象。 实例中我们使用了 Redis HMSET, HGETALL 命令,user:1 为键值。

    每个 hash 可以存储 232 -1 键值对(40多亿)。


    List(列表)

    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

    实例

    redis 127.0.0.1:6379> lpush runoob redis
    (integer) 1
    redis 127.0.0.1:6379> lpush runoob mongodb
    (integer) 2
    redis 127.0.0.1:6379> lpush runoob rabitmq
    (integer) 3
    redis 127.0.0.1:6379> lrange runoob 0 10
    1) "rabitmq"
    2) "mongodb"
    3) "redis"
    redis 127.0.0.1:6379>

    列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。


    Set(集合)

    Redis的Set是string类型的无序集合。

    集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

    sadd 命令

    添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。

    sadd key member

    实例

    redis 127.0.0.1:6379> sadd runoob redis
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob mongodb
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 0
    redis 127.0.0.1:6379> smembers runoob
    
    1) "rabitmq"
    2) "mongodb"
    3) "redis"

    注意:以上实例中 rabitmq 添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。

    集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。


    zset(sorted set:有序集合)

    Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

    zset的成员是唯一的,但分数(score)却可以重复。

    zadd 命令

    添加元素到集合,元素在集合中存在则更新对应score

    zadd key score member 

    实例

    redis 127.0.0.1:6379> zadd runoob 0 redis
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 mongodb
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 rabitmq
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 rabitmq
    (integer) 0
    redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000
    1) "mongodb"
    2) "rabitmq"
    3) "redis
    View Code

    redis命令:http://www.runoob.com/redis/redis-data-types.html




  • 相关阅读:
    通过ip找mac
    python开发总结
    iptables 通用语句
    运行pyqt4生成py文件增加代码
    re正则match、search、findall、finditer函数方法使用
    python list 字符串排序
    读取yaml文件小方法
    递归解析字典小方法
    assert 断言
    格式化字符串——初级% 和format
  • 原文地址:https://www.cnblogs.com/fangjie0410/p/8687925.html
Copyright © 2011-2022 走看看