zoukankan      html  css  js  c++  java
  • Redis介绍

    ---恢复内容开始---

    中方官网:http://www.redis.net.cn/

    需要镜像源:

    	wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    ==========================安装及介绍=====================

     安装

    yum install -y redis

    看看都装了什么

    rpm -ql redis
    /etc/logrotate.d/redis  #日志
    /etc/rc.d/init.d/redis    #启动脚本
    /etc/rc.d/init.d/redis-sentinel
    /etc/redis-sentinel.conf
    /etc/redis.conf         #配置文件
    /etc/security/limits.d/95-redis.conf
    /usr/bin/redis-benchmark          #/usr/bin/下都是命令    系统测试
    /usr/bin/redis-check-aof           #检测日志
    /usr/bin/redis-check-rdb         
    /usr/bin/redis-cli                         #客户端
    /usr/bin/redis-sentinel
    /usr/bin/redis-server
    /usr/libexec/redis-shutdown
    /usr/share/doc/redis-3.2.11
    /usr/share/doc/redis-3.2.11/00-RELEASENOTES #文档
    /usr/share/doc/redis-3.2.11/BUGS
    /usr/share/doc/redis-3.2.11/CONTRIBUTING
    /usr/share/doc/redis-3.2.11/COPYING
    /usr/share/doc/redis-3.2.11/MANIFESTO
    /usr/share/doc/redis-3.2.11/README.md
    /usr/share/man/man1/redis-benchmark.1.gz
    /usr/share/man/man1/redis-check-aof.1.gz
    /usr/share/man/man1/redis-check-rdb.1.gz
    /usr/share/man/man1/redis-cli.1.gz
    /usr/share/man/man1/redis-sentinel.1.gz
    /usr/share/man/man1/redis-server.1.gz
    /usr/share/man/man5/redis-sentinel.conf.5.gz
    /usr/share/man/man5/redis.conf.5.gz
    /var/lib/redis    
    /var/log/redis       #存日志
    /var/run/redis       #存放PID(管理进程)

    查看配置文件

    vim /etc/redis.conf

    daemonize  yes  #进程是否是守护进程(源码是no)

    pidfile /var/run/redis/redis.pid  #pid位置

    prot  6379   #端口

    bind  192.168.70.121  #绑定的ip(默认127.0.0.1)

    timeout  0  #客户端空闲都少秒端口,  0表示不断开

    loglevel notice #日志级别

    logfile /var/log/redis/redis.log  #日志文件

    databases  16 #redis支持数据库的数量   从0开始,所以支持17个

    启动redis

    /etc/init.d/redis start

    #检查端口

    lsof -i:6379
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    redis-ser 3384 redis 4u IPv4 51907 0t0 TCP 192.168.70.121:6379 (LISTEN)

    #进入redis

    redis-cli -h 192.168.70.121

    #插入数据

    SET mykey hehe

    #获取数据

    GET mykey

    #查看所有key(工作中不要使用)

    keys  *

    #查看是否key存在

    EXISTS mykey

    存在1  不存在0

    #删除

    DEL mykey

    #查看类型

    TYPE mykey

    #追加key

    APPEND

     APPEND mykey 123

    GET mykey
    "hehe123"

    #数值长度

    STRLEN mykey
    (integer) 7

    #自增步长

    INCRBY  num   10

    #添加多个值

    SET key1 v1 key2 v2 key3 v3
    OK
    192.168.70.121:6379> keys *
    1) "key2"
    2) "key1"
    3) "key3"
    4) "mykey"

    #同时获取多个值

    MGET key1 key2 key3
    1) "v1"
    2) "v2"
    3) "v3"

    ================================================数据结构===================

           memcache   和  redis对比

    类型        key-value               keyvalue

    过期策略      支持        支持

    数据类型      单一数据类型    多种数据类型

    持久化   不支持           支持

    主从复制   不支持        支持

    虚拟内存  不支持         支持(不建议)

    字符串数据类型

    SET     GET    DEL      APPEND    STRLEN     MGET            MSET          INCR      INCRBY     DECR     DECRBY      INCRBYFLOAT

    添加      取出   删除        追加       判断长度     添加多个值   取出多个值      自增        自增N        自减         自减N          自增浮点数

      

    散列类型(Hash)

    Hash类型的键最多2的32次方-1

    HSET key  field value

    HGET key field

    举例:

    192.168.70.121:6379> HSET car name BMD
    (integer) 1                   #HSET car是key   name是对象  BMD是数值
    192.168.70.121:6379> HSET car price 500
    (integer) 1
    192.168.70.121:6379> HGET car name
    "BMD"
    192.168.70.121:6379> HGET car price
    "500"

    HMSET key field value [field value...]

    HMGET key field [field...]

    #存储 或 获取多个值

    192.168.70.121:6379> HMSET book price 10 name reids
    OK
    192.168.70.121:6379> HMGET book name price
    1) "reids"
    2) "10"

    #获取所有

    192.168.70.121:6379> HGETALL book
    1) "price"
    2) "10"
    3) "name"
    4) "reids"

    #删除某一个字段

    HDEL

    HDEL book  name

    HGETALL book

    1) "price"
    2) "10"

    #判断是否存在

    HEXISTS book name

    类表类型

    LPUSH key value (从左边插入)

    192.168.70.121:6379> LPUSH mylist 1daxian
    (integer) 1
    192.168.70.121:6379> LPUSH mylist 2daxian
    (integer) 2
    192.168.70.121:6379> LLEN mylist   #列表长度
    (integer) 2

    RPUSH  key value(右边插入)

    192.168.70.121:6379> RPUSH mylist 1daxian
    (integer) 3
    192.168.70.121:6379> RPUSH mylist 2daxian
    (integer) 4

    #查看列表尾部数据

    192.168.70.121:6379> LINDEX mylist -1
    "2daxian"

    #列表弹出

    LPOP(左边)

    RPOP(右边)

    192.168.70.121:6379> RPOP mylist
    "2daxian"
    192.168.70.121:6379> RPOP mylist
    "1daxian"
    192.168.70.121:6379> RPOP mylist
    "1daxian"
    192.168.70.121:6379> RPOP mylist
    "2daxian"

    列表就没有了。。。

    ===============================复制=============

    php+redis

    wget  http://pecl.php.net/get/redis-4.0.0.tgz

    解压缩

    tar  xf 

    ---恢复内容结束---

    中方官网:http://www.redis.net.cn/

    需要镜像源:

    	wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    ==========================安装及介绍=====================

     安装

    yum install -y redis

    看看都装了什么

    rpm -ql redis
    /etc/logrotate.d/redis  #日志
    /etc/rc.d/init.d/redis    #启动脚本
    /etc/rc.d/init.d/redis-sentinel
    /etc/redis-sentinel.conf
    /etc/redis.conf         #配置文件
    /etc/security/limits.d/95-redis.conf
    /usr/bin/redis-benchmark          #/usr/bin/下都是命令    系统测试
    /usr/bin/redis-check-aof           #检测日志
    /usr/bin/redis-check-rdb         
    /usr/bin/redis-cli                         #客户端
    /usr/bin/redis-sentinel
    /usr/bin/redis-server
    /usr/libexec/redis-shutdown
    /usr/share/doc/redis-3.2.11
    /usr/share/doc/redis-3.2.11/00-RELEASENOTES #文档
    /usr/share/doc/redis-3.2.11/BUGS
    /usr/share/doc/redis-3.2.11/CONTRIBUTING
    /usr/share/doc/redis-3.2.11/COPYING
    /usr/share/doc/redis-3.2.11/MANIFESTO
    /usr/share/doc/redis-3.2.11/README.md
    /usr/share/man/man1/redis-benchmark.1.gz
    /usr/share/man/man1/redis-check-aof.1.gz
    /usr/share/man/man1/redis-check-rdb.1.gz
    /usr/share/man/man1/redis-cli.1.gz
    /usr/share/man/man1/redis-sentinel.1.gz
    /usr/share/man/man1/redis-server.1.gz
    /usr/share/man/man5/redis-sentinel.conf.5.gz
    /usr/share/man/man5/redis.conf.5.gz
    /var/lib/redis    
    /var/log/redis       #存日志
    /var/run/redis       #存放PID(管理进程)

    查看配置文件

    vim /etc/redis.conf

    daemonize  yes  #进程是否是守护进程(源码是no)

    pidfile /var/run/redis/redis.pid  #pid位置

    prot  6379   #端口

    bind  192.168.70.121  #绑定的ip(默认127.0.0.1)

    timeout  0  #客户端空闲都少秒端口,  0表示不断开

    loglevel notice #日志级别

    logfile /var/log/redis/redis.log  #日志文件

    databases  16 #redis支持数据库的数量   从0开始,所以支持17个

    启动redis

    /etc/init.d/redis start

    #检查端口

    lsof -i:6379
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    redis-ser 3384 redis 4u IPv4 51907 0t0 TCP 192.168.70.121:6379 (LISTEN)

    #进入redis

    redis-cli -h 192.168.70.121

    #插入数据

    SET mykey hehe

    #获取数据

    GET mykey

    #查看所有key(工作中不要使用)

    keys  *

    #查看是否key存在

    EXISTS mykey

    存在1  不存在0

    #删除

    DEL mykey

    #查看类型

    TYPE mykey

    #追加key

    APPEND

     APPEND mykey 123

    GET mykey
    "hehe123"

    #数值长度

    STRLEN mykey
    (integer) 7

    #自增步长

    INCRBY  num   10

    #添加多个值

    SET key1 v1 key2 v2 key3 v3
    OK
    192.168.70.121:6379> keys *
    1) "key2"
    2) "key1"
    3) "key3"
    4) "mykey"

    #同时获取多个值

    MGET key1 key2 key3
    1) "v1"
    2) "v2"
    3) "v3"

    ================================================数据结构===================

           memcache   和  redis对比

    类型        key-value               keyvalue

    过期策略      支持        支持

    数据类型      单一数据类型    多种数据类型

    持久化   不支持           支持

    主从复制   不支持        支持

    虚拟内存  不支持         支持(不建议)

    字符串数据类型

    SET     GET    DEL      APPEND    STRLEN     MGET            MSET          INCR      INCRBY     DECR     DECRBY      INCRBYFLOAT

    添加      取出   删除        追加       判断长度     添加多个值   取出多个值      自增        自增N        自减         自减N          自增浮点数

      

    散列类型(Hash)

    Hash类型的键最多2的32次方-1

    HSET key  field value

    HGET key field

    举例:

    192.168.70.121:6379> HSET car name BMD
    (integer) 1                   #HSET car是key   name是对象  BMD是数值
    192.168.70.121:6379> HSET car price 500
    (integer) 1
    192.168.70.121:6379> HGET car name
    "BMD"
    192.168.70.121:6379> HGET car price
    "500"

    HMSET key field value [field value...]

    HMGET key field [field...]

    #存储 或 获取多个值

    192.168.70.121:6379> HMSET book price 10 name reids
    OK
    192.168.70.121:6379> HMGET book name price
    1) "reids"
    2) "10"

    #获取所有

    192.168.70.121:6379> HGETALL book
    1) "price"
    2) "10"
    3) "name"
    4) "reids"

    #删除某一个字段

    HDEL

    HDEL book  name

    HGETALL book

    1) "price"
    2) "10"

    #判断是否存在

    HEXISTS book name

    类表类型

    LPUSH key value (从左边插入)

    192.168.70.121:6379> LPUSH mylist 1daxian
    (integer) 1
    192.168.70.121:6379> LPUSH mylist 2daxian
    (integer) 2
    192.168.70.121:6379> LLEN mylist   #列表长度
    (integer) 2

    RPUSH  key value(右边插入)

    192.168.70.121:6379> RPUSH mylist 1daxian
    (integer) 3
    192.168.70.121:6379> RPUSH mylist 2daxian
    (integer) 4

    #查看列表尾部数据

    192.168.70.121:6379> LINDEX mylist -1
    "2daxian"

    #列表弹出

    LPOP(左边)

    RPOP(右边)

    192.168.70.121:6379> RPOP mylist
    "2daxian"
    192.168.70.121:6379> RPOP mylist
    "1daxian"
    192.168.70.121:6379> RPOP mylist
    "1daxian"
    192.168.70.121:6379> RPOP mylist
    "2daxian"

    列表就没有了。。。

    ===============================php+redis=============

    php+redis

    wget  http://pecl.php.net/get/redis-4.0.0.tgz

    解压缩

    tar xf redis-4.0.0.tgz
    cd redis-4.0.0.tgz
    /application/php/bin/phpize
    ./configure --with-php-config=/applicaiton/php/bin/php-config
    make && make install


    生成so文件
    vim /application/php/lib/php.ini

    extension = redis.so


    写一个phpinfo
    <?php
    phpinfo();
    ?>

    phpinfo搜索是否有reids

    ====================INFO===============

    http://www.redis.cn/commands/info.html

  • 相关阅读:
    Vocabulary Recitation 2020/05/06
    java set TreeSet详解
    vue快速入门~必备基础知识(一)下~过滤器
    vue快速入门~必备基础知识(一)上
    vue入门(二)基于前面的基础的一个小Demo
    Annotation注释详解~
    泛型~详解~
    Collections工具类详解
    TreeMap实现类和SortMap接口
    Map集合-主要HashMap和Hashtable
  • 原文地址:https://www.cnblogs.com/sky00747/p/8709870.html
Copyright © 2011-2022 走看看