Redis

Redis简介

  • Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

  • 非关系型数据库的一种,经常用作缓存数据库服务器。

  • 官网:http://www.redis.io/ 中文网:http://www.redis.cn/

  • 具有丰富的数据类型:字符串、哈希、列表、集合、有序集合

  • 端口:6379

安装及连接测试

  • 安装

    • 双击安装软件Redis-x64-3.2.100.msi

    • 需要勾选将安装路径添加到系统环境变量PATH下

    • 一路NEXT即可完成安装

    • 安装后自动添加到系统服务中,并且已经启动

  • 连接

    • 格式:redis-cli -h host -p port -a pwd

      • -h:指定主机,默认本机

      • -p:指定端口,默认6379

      • -a:指定密码

      • --help:查看帮助

    • 测试:

      127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379>
    • 退出:quit / exit

  • 密码管理:设置密码后,不适用密码也能登录,但是没有权限做操作

    • 单次有效:通过命令设置

      • 获取配置:config get requirepass获取密码配置,config get *获取所有配置

      • 设置密码:config set requirepass 123456

      • 身份认证:auth 123456

    • 永久有效:修改配置文件安装目录/redis.windows-service.conf

      • requirepass xxx的行取消注释(去掉前面的#)

      • 后面跟上你要设置的密码

      • 重启服务后即可生效

  • 远程连接:修改配置文件中的bind 127.0.0.1bind 0.0.0.0/本机IP

  • 图形界面:redis-desktop-manager-0.8.8.384.exe

    • 一路next即可完成安装,添加连接即可查看对应的数据。

redis常用命令

  • 常用管理命令:

      ping:测试连接情况,默认恢复'PONG'
    quit/exit:退出客户端
    auth:密码认证
    config:配置命令,可以查看和设置配置信息,参考密码查看与设置
    info:查看服务器信息,可以指定具体模块查看
    command:查看支持的命令
    select:选择库,总共16个,默认为0数据库;提示符后会有库号的提示,没有就是默认的库(0)
    flushdb:清空当前库
    flushall:清空所有库
    save:前台执行持久化存储
    bgsave:后台执行持久化存储
  • 键(keys):

      exists:判断指定的键是否存在
    del:删除指定的键值对
    keys:查看指定样式的键,keys *表示查看所有
    ttl:查看指定键的剩余有效时间,单位为秒,不存在键返回-2,永久返回-1
    expire:设置指定键的生存时间
    persist:移除指定键的生存时间,之后该键永久有效
    move:移动指定的键到指定的库
    rename:修改指定键的名字
  • 字符串(string)

      set:设置,存在就修改,不存在就添加
    get:获取,获取指定键的值
    mset:同时设置多个键值对
    mget:同时获取多个键对应的值
    getset:设置新值,同时返回旧值
    setex:设置值及过期时间,单位为秒
    incr:数字值加1
    decr:数字值减1
    incrby:数字值加上指定值
    decrby:数字值减去指定值
    incrbyfloat:数字值加上一个浮点数
    append:键存在,值为字符串,追加指定的内容到原值的末尾
    strlen:返回键对应值的字符长度
  • 哈希(hash)

      hset:设置单个属性
    hget:获取单个属性
    hmset:设置多个属性
    hmget:获取多个属性
    hgetall:获取所有属性
    hexists:判断指定键是否有指定的字段
    hdel:删除指定键的指定字段
    hkeys:获取指定键的所有字段
    hvals:获取指定键的所有字段值
    hlen:获取指定键的字段个数
    hincrby:在指定键的指定字段上增加一个整数
    hincrbyfloat:在指定键的指定字段上增加一个浮点数
  • 列表(list)

      lpush:从左边(头部)插入数据
    lpop:从左边(头部)删除并返回数据
    lrange:获取区间内的数据,0 -1通常可以表示所有范围
    lindex:根据索引获取元素
    llen:统计列表中元素个数
    lset:设置指定索引的元素值
    lrem:删除指定数量的元素
    linsert:在指定元素的前/后插入元素
    ltrim:修剪列表元素(保留指定范围内地,删除其他)
    rpop:从右边(尾部)删除并返回数据
    rpush:从右边(尾部)插入数据
  • 数据类型

    • 字符串、哈希、列表

    • 集合(set)

        sadd:向集合中添加元素(集合不存在会自动创建)
      scard:统计集合中元素的个数
      smembers:返回所有元素
      sismember:判断某个元素是否是集合的成员
      spop:随机删除并返回指定个数的元素,不指定个数默认一个元素
      srandmember:随机获取指定个数的元素
      srem:移除指定元素
      smove:将指定的元素从一个集合移动到另一个集合中
      sinter:求交集
      sinterstore:求交集并保存到一个集合中
      sdiff:求差集
      sdiffstore:求差集并保存到一个集合中
      sunion:求并集
      sunionstore:求并集并保存到一个集合中
    • 有序集合(sorted set)

        zadd:添加元素
      zcard:统计元素个数
      zcount:指定分数区间统计
      zrange:返回指定索引范围内的元素(升序),zrevrange:降序
      zrangebyscore:返回指定分数区间的元素(升序),zrevrangebyscore:降序
      zrank:返回指定元素的索引(升序),zrevrank:降序
      zrem:移除元素
      zscore:返回元素的分数
      zincrby:将元素的分数增加一个值
      zinterstore:求交集并保存
      zunionstore:求并集并保存

    Python操作Redis

    • 安装扩展:pip install redis

    • 简介:

        redis扩展库中有两个类,Redis和StrictRedis;StrictRedis实现了官方的命令,Redis是它的子类,兼容老版本。扩展中没有提供select方法,可以在连接时通过参数指定库。
    • 操作:

      • 简单连接:导入类库,创建Redis对象,然后所有的命名都是Redis对象的方法

      • 连接池:多个Redis使用同一个连接池连接,减少了频繁的连接、断开数据库的开销

      • 使用管道:可以先记录多条命令,然后一次性发送到服务器,避免了多次操作服务器的开销

原文地址:https://www.cnblogs.com/542684416-qq/p/9924144.html