Redis下载安装以及String类型

下载安装
  1. 官网:https://redis.io
  2. 中文网:https://www.redis.net.cn/
  3. window系统 3.2.100版本下载:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
    安装为window服务:

      打开cmd,进入到redis解压后的目录中,执行:redis-server.exe --service-install redis.windows.conf --service-name Redis3.0 --port 6379

    卸载掉服务:

      sc delete redis3.0

    启动服务:

      通过cmd指定到该redis目录,使用命令:redis-server.exe,也可以双击redis-server.exe运行
    启动客户端,连接服务器:

      启动另一个cmd,在该redis目录下,使用命令:redis-cli.exe,也可以双击redis-cli.exe运行  

      redis-cli.exe -h 127.0.0.1 -p 6379 -a requirepass
      (-h 服务器地址 -p 指定端口号 -a 连接数据库的密码[可以在redis.windows.conf中配置],默认无密码)

  常用的redis服务命令:
    卸载服务:redis-server --service-uninstall

    开启服务:redis-server --service-start

    停止服务:redis-server --service-stop

    重命名服务:redis-server --service-name name

    重命名服务,需要写在前三个参数之后

  windows下redis配置密码:

    打开 redis.windows.conf 或者 redis.windows-service.conf 找到 #requirepass foobared ,在下面添加 【requirepass 密码】

    在redis目录下执行 redis-server.exe redis.windows.conf 或者 redis-server.exe redis.windows-service.conf 启动服务

    redis-cli.exe -a 密码   |   redis-cli.exe -h 127.0.0.1 -p 6379 -a 密码

redis的数据结构:
  redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构
  value的数据结构:
    1) 字符串类型 string
    2) 哈希类型 hash : map格式
    3) 列表类型 list : linkedlist格式。支持重复元素
    4) 集合类型 set : 不允许重复元素
    5) 有序集合类型 sortedset:不允许重复元素,且元素自动排序

字符串类型 string
  1. 存储: set key value
  2. 获取: get key
  3. 删除: del key

  4.一次存多个数据:mset a 1 b 2 c 3  一次获取多个数据:mget a b c

  5.获取长度:strlen key

  6.追加信息到原始信息后面(原始信息不存在,则创建),返回的是数据总长度:append key value

  

  string 类型数据的扩展操作:

    大型企业级应用中,分表操作是基本操作,使用多张表存储同类型数据,但是对应的主键 id 必须保证统一性,不能重复。
    Oracle 数据库具有 sequence 设定,可以解决该问题,但是 MySQL数据库并不具有类似的机制,那么如何解决?
    解决方案:

      设置数值数据增加指定范围的值   

        incr key        每次执行加1
        incrby key increment   指定增加的数值
        incrbyfloat key increment  指定增加的浮点数值

      设置数值数据减少指定范围的值

        decr key        每次指定减1
        decrby key increment   指定减少的数值

      

    “最强女生”启动海选投票,只能通过微信投票,每个微信号每 4 小时只能投1票。
    电商商家开启热门商品推荐,热门商品不能一直处于热门期,每种商品热门期维持3天,3天后自动取消热门。
    新闻网站会出现热点新闻,热点新闻最大的特征是时效性,如何自动控制热点新闻的时效性。

    解决方案:

      设置数据具有指定的生命周期
        setex key seconds value  seconds表示多少秒
        psetex key milliseconds value  milliseconds表示毫秒

      Tips 2:redis 控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作

  string 类型应用场景:

    主页高频访问信息显示控制,例如新浪微博大V主页显示粉丝数与微博数量

      

 

    解决方案:

      在redis中为大V用户设定用户信息,以用户主键和属性值作为key,后台设定定时刷新策略即可
        eg: user:id:3506728370:fans → 12210947
        eg: user:id:3506728370:blogs → 6164
        eg: user:id:3506728370:focuss → 83

        例如当粉丝数增加时执行:incr user:id:3506728370:fans  对于数据的变更更新更实时
      在redis中以json格式存储大V用户信息,定时刷新(也可以使用hash类型)
        eg: user:id:3506728370 → {"id":3506728370,"name":"春晚","fans":12210862,"blogs":6164, "focus":83}

        例如当粉丝数增加时,需要先读取json中的数据,修改后再重新存放回去,可以一次性修改多个数据

        

      Tips 3:redis应用于各种结构型和非结构型高热度数据访问加速

 

posted @ 2020-01-30 20:51  糖不甜,盐不咸  阅读(116)  评论(0)    收藏  举报