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秒内有效

  • 相关阅读:
    [JOISC2017]細長い屋敷
    Gym102471C Dirichlet k-th root
    CF1264F Beautiful Fibonacci Problem
    Luogu P4619 [SDOI2018]旧试题
    AGC001F Wide Swap
    BZOJ4289 [PA2012]Tax
    Luogu P4366 [Code+#4]最短路
    Luogu P1407 [国家集训队]稳定婚姻
    CF1023F Mobile Phone Network
    BZOJ3563 DZY Loves Chinese
  • 原文地址:https://www.cnblogs.com/sunang/p/11310623.html
Copyright © 2011-2022 走看看