• redis的String类型以及其操作


    Redis的数据类型

    String类型以及操作

    String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的。Redis的String可以包含任何数据,比如jpg图片或者序列化对象

    Set
    设置key对应的值为string类型的value
    例如:我们添加一个name为lijie的键值对

    127.0.0.1:6379> set name lijie
    OK
    127.0.0.1:6379> get name
    "lijie"
    127.0.0.1:6379> set name lambrother
    OK
    127.0.0.1:6379> get name
    "lambrother"

    我们再次设置name为lambrother,后面发现将前面的lijie覆盖了。


    Setnx
    设置key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思
    例如我们添加一个name = lijie_new的键值对

    127.0.0.1:6379> setnx name lijie_new
    (integer) 0
    127.0.0.1:6379> get name
    "lambrother"
    127.0.0.1:6379> setnx age 20
    (integer) 1
    127.0.0.1:6379> get age 
    "20"



    Setex
    设置key对应的值为string类型的value,并指定键值对的有效期
    例如:我们添加一个haircolor = red的键值对,并制定有效期为10秒

    127.0.0.1:6379> setex haircolor 10 red 
    OK
    127.0.0.1:6379> get haircolor
    "red"
    10秒后
    127.0.0.1:6379> get haircolor
    (nil) nil指的是空的意思。
    127.0.0.1:6379> setnx haircolor red
    (integer) 1 //验证了前面的键值对失效了。



    Setrange
    设置指定key的value值的子字符串
    例如:我们希望将lijie的126邮箱替换成为gmail邮箱

    127.0.0.1:6379> set email lijie@lambrother.net
    OK
    127.0.0.1:6379> get email
    "lijie@lambrother.net"
    127.0.0.1:6379> setrange email 6 li-jie.me //6代表的是原来字符串的开始替换位置的下标
    (integer) 20 //20 代表的是新字符串的长度
    127.0.0.1:6379> get email
    "lijie@li-jie.mer.net" //观察发现替换后的字符串如果长度没有原来字符串长,会将原来字符串的剩余依旧拼接



    mset
    一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置

    127.0.0.1:6379> mset key1 lijie1 key2 lijie2
    OK
    127.0.0.1:6379> get key1
    "lijie1"
    127.0.0.1:6379> get key2
    "lijie2"



    msetnx
    一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key

    127.0.0.1:6379> msetnx key3 lambrother key4 lijie@lambrother.net key2 lijie
    (integer) 0
    127.0.0.1:6379> get key3
    (nil)
    127.0.0.1:6379> get key4
    (nil)
    127.0.0.1:6379> msetnx key3 lambrother key4 lijie@lambrother.net key5 lijie
    (integer) 1
    127.0.0.1:6379> get key3
    "lambrother"
    127.0.0.1:6379> get key4
    "lijie@lambrother.net"
    127.0.0.1:6379> get key5
    "lijie"
    127.0.0.1:6379>




    getset
    设置key的值并返回旧的key值

    127.0.0.1:6379> get key5
    "lijie"
    127.0.0.1:6379> getset key5 haha
    "lijie"
    127.0.0.1:6379> get key5
    "haha"
    127.0.0.1:6379>



    getrange
    获取子字符串

    127.0.0.1:6379> get email
    "lijie@li-jie.mer.net"
    127.0.0.1:6379> getrange email 0 5 //获取email的value的0索引到5(包括5)索引的值
    "lijie@"
    127.0.0.1:6379>


    mget
    批量获取

    127.0.0.1:6379> mget key1 key2 key3 key4 key5 key 6
    1) "lijie1"
    2) "lijie2"
    3) "lambrother"
    4) "lijie@lambrother.net"
    5) "haha"
    6) (nil)
    7) (nil)
    127.0.0.1:6379>



    incr
    对key的值做加加操作,并返回新的值

    127.0.0.1:6379> set key6 30
    OK
    127.0.0.1:6379> get key6
    "30"
    127.0.0.1:6379> incr key6
    (integer) 31
    127.0.0.1:6379> incr key6
    (integer) 32
    127.0.0.1:6379> get key6
    "32"
    127.0.0.1:6379>


    incrby
    同incr类似,区别在于必须指定增量

    127.0.0.1:6379> get key6
    "37"
    127.0.0.1:6379> incrby key6 5
    (integer) 42
    127.0.0.1:6379> incrby key6 -8
    (integer) 34
    127.0.0.1:6379>


    decr
    对key的值做减减操作

    127.0.0.1:6379> decr key6
    (integer) 33
    127.0.0.1:6379> decr key6
    (integer) 32



    decrby
    与decr类似,指定减量

    127.0.0.1:6379> decrby key6 8
    (integer) 24
    127.0.0.1:6379> decrby key6 -7
    (integer) 31


    append
    给指定key的字符串追加value,返回新字符串的长度

    127.0.0.1:6379> get name
    "lambrother"
    127.0.0.1:6379> append name .net
    (integer) 14
    127.0.0.1:6379> get name
    "lambrother.net"



    strlen
    取指定key的value的长度

    127.0.0.1:6379> strlen name
    (integer) 14
  • 相关阅读:
    卷积神经网络
    降噪自动编码器(Denoising Autoencoder)
    栈式自动编码器(Stacked AutoEncoder)
    限制Boltzmann机(Restricted Boltzmann Machine)
    MATLAB conv2卷积的实现
    二维卷积的基本原理
    范数的物理意义(转)
    卷积的本质及物理意义(全面理解卷积)
    从稀疏表示到低秩表示(五)
    Android官方技术文档翻译——Ant 任务
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6566738.html
Copyright © 2020-2023  润新知