zoukankan      html  css  js  c++  java
  • Redis学习笔记#1:Strings

    Redis的数据类型String,它是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。

    String的值不能大于512M。

    #基本命令

    set foo "bar"
    get foo
    

    #不存在时才执行NX,存在时才执行XX

    set foo "will not success" NX
    set foo "will success" XX

    #EX 秒数 PX 毫秒数   N秒后过期

    #10秒后过期
    set foo bar EX 10
    setex foo 10 bar
    psetex foo 1000 bar

    应用:可以设计为存储Token,并设置过期时间

     #递增,递减

    #自增1(默认)
    set foo 0
    INCR foo
    get foo

    #自增5
    INCRBY foo 5
    返回自增后的值
    
    INCRBYFLOAT foo 0.1

    应用:

    1.计数器,网站访问数统计

    2.限流。每个ip每秒限制请求10次

    #APPEND STRLEN

    APPEND foo hello
    APPEND foo " world"
    
    #字符串长度
    STRLEN foo

    #GETSET 获取旧数据并更新新数据

    INCR mycounter
    GETSET mycounter 0
    GET mycounter
    

    #MGET MSET

    MGET mycounter foo nonext
    
    MSET key1 val1 key2 val2
    MGET key1 key2 
    
    #不存在时执行(有一个key以上存在时,操作失败返回0)
    MSETNX key1 val1 key2 val2

     #SETRANGE GETRANGE

    set key1 "hello world"
    setrange key1 6 "redis"
    get key1

    GETRANGE -1代表最后一个字符 -2代表倒数第二个以此类推

    #GETBIT SETBIT BITCOUNT BITOP BITPOS

    -------------------------------------------------------------------------------------------------------------------------------------

    应用场景篇

    #1 计数器

    INCR 点赞数,收藏数的计数

     #2 会话token

    setex 存储用户的token,并设置过期时间

    #3 验证码有效期

    设置验证码60秒内有效

  • 相关阅读:
    jmeter上传和下载、webservice、数据库连接 -- 9
    jmeter cookies和token -- 8
    java 获得 微信 UserId
    让textarea根据文本的长度自动调整它的高度
    oracle 连接数据库并查询,返回List<Map<String, Object>> 数据
    POI 4.0 读取Excel
    excel (2)
    导出 doc
    sui Mobile 试玩
    oracle 与 前台 md5
  • 原文地址:https://www.cnblogs.com/sunang/p/11310623.html
Copyright © 2011-2022 走看看