zoukankan      html  css  js  c++  java
  • 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使用同一个连接池连接,减少了频繁的连接、断开数据库的开销

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

  • 相关阅读:
    初识Node
    从服务器获取信息的方式
    引用对象的指针传递
    使用定时器来控制一次执行的任务数量
    JS字符串拼接的方法及性能比较
    提升JS比较效率的方式
    DOM访问优化
    JS数据存取效率的优化
    JS脚本加载顺序及优化
    python 基本用法
  • 原文地址:https://www.cnblogs.com/542684416-qq/p/9924144.html
Copyright © 2011-2022 走看看