一、redis简介:
  1. reids 也是一个 key-value 存储系统,更加确切地说,它已经是一个非关系型数据库。

  2. 关系型。
    SQL语言。
  3. 非关系型。
    key - value。

  4. 数据类型。
    字符串。
    哈希
    列表
    集合
    有序集合。

二、安装
  linux
    1. 解压
      tar xzf redis-3.2.9.tar.gz
    2. 进入目录
      cd redis-3.2.9
    3. 编译
      make
    4. 启动
      二进制文件是编译完成后在src目录下,通过下面的命令启动Redis服务:
      src/redis-server 或者 cd src && ./redis-server [redis.conf]
    5. 使用
      你可以使用内置的客户端命令redis-cli进行使用:
      src/redis-cli
    6. 配置
      redis.conf
三、安装 php 扩展
  1. 下载
    s
  2. 解压
    unzip phpredis.zip
  3. 进入目录
    cd /phpredis
  4. 执行 phpize
    /usr/local/bin/phpize
  5. 配置
    ./configure --with-php-config=/usr/local/php/bin/php-config
  6. 编译安装
    make && make install
  7. 修改 php.ini 配置文件
    extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
    extension="redis.so";
  8. 重启apache
    /usr/local/apache2/bin/apachectl restart
四、使用 php 操作
  数据类型
    1. string
      增加
        set('索引','值')    // 设置值。
        setex        // 设置有生命周期的值
        mset('数组')    // 批量设置值
        setnx('索引','值') // 设置新值
      删除
        delete// 删除值。
      修改
        set('索引','值')    // 修改值
        incr('索引')      // 增加值
        incrby('索引','步进值')  // 步进递加值
        decr('索引')      // 递减值
        decrby('索引','步进值')  // 步进递减值
      获取
        get('索引')// 获取值
        mget('数组')// 批量获取值
    2. list,链表,列表。
      增加
        lpush(‘表名’,‘值’)// 从左添加值
        rpush(‘表名’,‘值’)// 从右添加值
      删除
        lpop(‘表名’)// 从左弹出
        rpop(‘表名’)// 从右弹出
        lrem(‘表名’)// 删除几个
      修改
        lset(‘表名’,第几个,‘要修改的值’)// 根据索引修改,从0开始
        lset(‘表名’,负第几个,‘要修改的值’)// 根据索引修改,倒数,从-1开始
        rpoplpush(‘弹出表’,‘填入表’)// 弹出最后一个元素到另一个新的列表中
      查询
        lindex(‘表名’,索引号数字)// 根据索引查询
        lrange(‘表名’,开始索引号,结束索引号)// 从 start 到 end 结束。
        lrange(‘表名’,0,-1)// 获取所有元素
        lsize(‘表名’)// 查询列表中元素的个数
    3. set 无序集合
      增加
        sadd(‘集合名’,‘值1’,‘值2’,‘值n’)// 添加集合
      删除
        srem(‘集合名’,‘值’)// 删除集合中的元素
      修改
        smove(‘集合1’,‘集合2’,‘值’)// 移动集合中的元素到另一个集合中。
      查询
        smembers(‘集合名’)// 获取集合中所有的元素
        ssize(‘集合名’)// 获取集合中元素的个数
        srandmember(‘集合名’)// 从集合中随机获取元素。
        sinter(‘集合1’,‘集合2’)// 交集
        sunion(‘集合1’,‘集合2’)// 并集
        sdiff(‘集合1’,‘集合2’)// 差集
        sismember(‘集合名’,‘值’)// 检测集合中元素是否存在
    4. zset 有序集合
      增加
        zadd(‘集合名’,分数,‘值’)// 添加集合
      删除
        zrem(‘集合名’,‘值’)// 删除集合中的一个元素
      修改
        zincrby(‘集合名’,步进值,‘值’)// 提高分数
      查询
        zrange(‘集合名’,0,-1)// 获取集合中的所有元素
        zrevrange(‘集合名’,0,-1)// 获取集合中的所有元素,倒数。
        zrangebyscore(‘集合名’,起始分数,终止分数)// 根据分数范围获取元素,并取几个。
        zrevrangebyscore('z1', 10, 50, ['withscores'=> true, 'limit'=> [0, 3]]// 根据分数范围获取元素,并取几个。
        zcount(‘集合名’,起始分数,终止分数)//统计分数范围内的元素个数
        zsize(‘集合名’)// 获取集合中元素的个数
        zscore(‘集合名’,‘值’)// 获取某个元素的分数
        zrank(‘集合名’,‘值’)// 获取某个元素的排名,从0开始算起。
        zrevrank(‘集合名’,‘值’)// 获取某个元素排名,倒数
    5. hash 哈希
      增加
        hset(‘哈希名’,‘索引’,‘值’)// 设置值
        hmset(‘哈希名’,数组)// 批量设置值
        hincrby(‘哈希名’,‘索引’,步进值)// 递加值
      删除
        hdel(‘哈希名’,‘值’)// 删除值
      修改
        hset(‘哈希名’,‘索引’,‘值’)// 修改值
      查询
        hget(‘哈希名’,‘索引’)// 获取值
        hmget(‘哈希名’,数组)// 批量获取值
        hgetall(‘哈希名’)// 获取所有值
        hlen(‘哈希名’)// 获取个数
        hkeys(‘哈希名’)// 获取所有键。
        hvals(‘哈希名’)// 获取所有值
        hexists(‘哈希名’,‘索引’)// 检测键名是否存在
    6. 通用操作
      select(数据库编号)// 选择数据库
      flushdb// 清空当前数据库
      flushAll// 清空所有数据库
      set// 设置值
      expire(‘索引’,时间)// 添加生命周期。
      del// 删除值
      ttl(‘索引’)// 获取生命周期
      exists(‘索引’)// 检测键名是否存在
      keys(‘*’)// 获取所有键

      keys(‘name*’)

      keys(‘*name’)

【redis】redis的更多相关文章

  1. 【NoSql】Redis

    [NoSql]Redis 一. 文档 1. 官网 2. Windows 安装包 3. C# Driver a. ServiceStack.Redis 最新版本是收费的 b. StackExchange ...

  2. 【python】redis基本命令和基本用法详解

    [python]redis基本命令和基本用法详解 来自http://www.cnblogs.com/wangtp/p/5636872.html 1.redis连接 redis-py提供两个类Redis ...

  3. 【redis】redis的bind配置

    原文:[redis]redis的bind配置   在配置文件redis.conf中,默认的bind 接口是127.0.0.1,也就是本地回环地址.这样的话,访问redis服务只能通过本机的客户端连接, ...

  4. 【redis】redis基础命令学习集合

    写在前面 Redis是一个高速的内存数据库,它的应用十分广泛,可以说是服务端必学必精的东西.然而,学以致用,无用则无为.学了的东西必须反复的去用,去实践,方能有真知.这篇文章记录了我在redis学习过 ...

  5. 【redis】redis应用场景,缓存的各种问题

    如果你还不知道redis的基本命令与基本使用方法,请看 [redis]redis基础命令学习集合 缓存 redis还有另外一个重要的应用领域——缓存 引用来自网友的图解释缓存在架构中的位置 默认情况下 ...

  6. 【Redis】Redis Sentinel 哨兵模式搭建

    Redis Sentinel介绍 Redis Sentinel是Redis的官方高可用性解决方案 Redis Sentinel为Redis提供高可用性.实际上,这意味着使用Sentinel可以创建一个 ...

  7. 【Redis】redis各类型数据存储分析

    一.简介和应用 Redis是一个由ANSI C语言编写,性能优秀.支持网络.可持久化的K-K内存数据库,并提供多种语言的API.它常用的类型主要是 String.List.Hash.Set.ZSet ...

  8. 亿级流量场景下,大型缓存架构设计实现【1】---redis篇

    *****************开篇介绍**************** -------------------------------------------------------------- ...

  9. 【Redis】Redis cluster集群搭建

    Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...

  10. 【转】Redis学习---哈希结构内存模型剖析

    [原文]https://www.toutiao.com/i6594624365906625032/ 概述 在前文<Redis字符串类型内部编码剖析>之中已经剖析过 Redis最基本的 St ...

随机推荐

  1. List remove ConcurrentModificationException源码分析

    代码块 Java         Exception in thread "main" java.util.ConcurrentModificationException at j ...

  2. JAVAEE学习day01

    1.二进制和十进制之间的转换: 十进制转换成二进制: 除2取余,从下往上吧余数拼接 二进制转换十进制: 1 0 1 0 8 4 2 1 把有1位的十进制求和 2.JAVA语言跨平台的原理 java程序 ...

  3. HTTP中主要的头字段

    HTTP中主要的头字段 头字段类型 含义 备注 通用头:适用于请求和响应消息的头字段 Date 表示请求和响应生成的日期   Pragma 表示数据是否允许缓存的通信选项   Cache-Contro ...

  4. 《Java8 Stream编码实战》正式推出

    ​当我第一次在项目代码中看到Stream流的时候,心里不由得骂了一句"傻X"炫什么技.当我开始尝试在代码中使用Stream时,不由得感叹真香. 记得以前有朋友聊天说,他在代码中用了 ...

  5. 1.JVM中的五大内存区域划分详解及快速扫盲

    本博客参考<深入理解Java虚拟机>这本书 视频及电子书详见:https://shimo.im/docs/HP6qqHx38xCJwcv9/ 一.快速扫盲 1. JVM是什么   JVM是 ...

  6. centOS7python版本升到3

    我们使用Python源代码编译的方式安装python3. 一.安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository) $ sudo y ...

  7. Python 3.9 新特性:任意表达式可作为装饰器!

    一个月前(2月20日),一则新的 PEP 没有受到任何阻碍就被官方采纳了,这么快的速度,似乎并不多见. 然而,更为高效率的是,仅在半个月内,它的实现就被合入了代码仓.也就是说,我们最快有望在 3 天后 ...

  8. 增删改查-java(新手)

     PreparedStatement: 方法: Connection: 方法:  实例: 1.查询: package cn.chuang.JdbcDome; import java.sql.*; pu ...

  9. SpringBoot 集成MQTT配置

    目录 1. 前言 2. MQTT介绍 3. SpringBoot 集成MQTT 3.1 导入mqtt库 3.2 配置MQTT订阅者 3.3 配置MQTT发布者 3.4 MQTT消息处理和发送 3.4. ...

  10. centOS6.5桌面版用不了中文输入法解决方案

    1:centos6.5中   系统->首选项->输入法中选择“使用iBus(推荐)”,点击首选输入法n遍,没有任何效果. 2.我也弄了很多种方式包括用 yum install " ...