zoukankan      html  css  js  c++  java
  • redis数据类型:Strings

    String是最简单的数据类型,一个key对应一个value,string类型是二进制安全的,redis的String可以包含任何数据,

    比如jpg图片或者系列化的对象。

    Set方法:

    设置key对应的值为String类型的value,例如我们添加一个

    name=xiaoming的键值对。

    [root@marslv bin]# redis-cli -h 127.0.0.1 -p 6379 -a lh801309
    127.0.0.1:6379> set name xiaoming
    OK
    127.0.0.1:6379> get name
    "xiaoming"
    127.0.0.1:6379>

    如果在set同一个键的话会覆盖,如果不想覆盖怎么办?

    可以用setnx方法,如果不存在添加,存在返回0

    127.0.0.1:6379> setnx name xiaohong
    (integer) 0

    setex方法:指定设置键的有效期:

    127.0.0.1:6379> setex age 10 10
    OK
    127.0.0.1:6379> get age
    "10"
    127.0.0.1:6379> get age
    (nil)

    setrange方法:替换子字符串

    127.0.0.1:6379> set mail lv@163.com
    OK
    127.0.0.1:6379> SETRANGE mail 4 @gmail.com
    (integer) 14
    127.0.0.1:6379> get mail
    "lv@1@gmail.com"
    127.0.0.1:6379>

    mset方法:批量插入

    127.0.0.1:6379> MSET key1 1 key2 2 key3 3
    OK
    127.0.0.1:6379> get key1
    "1"
    127.0.0.1:6379> get key2
    "2"
    127.0.0.1:6379> get key3
    "3"

    msetnx 一次性设置多个key的值,成功返回ok表示所有值被设置了,

    失败返回0表示没有任何值被 设置,但是不会覆盖已经存在的key

    127.0.0.1:6379> MSETNX key4 4 key5 5 key3 0
    (integer) 0
    127.0.0.1:6379> get key4
    (nil)

    只要一个不成功就返回0,因为key3已经存在

    getset方法:获取旧值并设置新值

    127.0.0.1:6379> get key1
    "1"
    127.0.0.1:6379> getset key1 100
    "1"
    127.0.0.1:6379> get key1
    "100"

    getrange方法:获取指定的子字符串

    127.0.0.1:6379> get mail
    "lv@1@gmail.com"
    127.0.0.1:6379> GETRANGE mail 0 6
    "lv@1@gm"

    mget方法:批量获取

    127.0.0.1:6379> mget key1 key2 key3
    1) "100"
    2) "2"
    3) "3"

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

    127.0.0.1:6379> get key1
    "100"
    127.0.0.1:6379> INCR key1
    (integer) 101
    127.0.0.1:6379> INCR key1
    (integer) 102

    incrby方法:同incr,加指定的值,key不存在的时候回设置key,

    并认为原来的value是0

    127.0.0.1:6379> get key1
    "102"
    127.0.0.1:6379> INCRBY key1 5
    (integer) 107
    设置正数就是加,设置负值就是减

    decr方法:对key的值做减减操作。

    decrby方法:同decr类似,减指定值

    append方法:给指定的key的value追加

    127.0.0.1:6379> get mail
    "lv@1@gmail.com"
    127.0.0.1:6379> append mail .net
    (integer) 18
    127.0.0.1:6379> get mail
    "lv@1@gmail.com.net"
    127.0.0.1:6379>

    strlen 获取指定key的value值

    127.0.0.1:6379> get mail
    "lv@1@gmail.com.net"
    127.0.0.1:6379> STRLEN mail
    (integer) 18

  • 相关阅读:
    盘点开发中那些常用的MySQL优化
    刚入职!就遇到上亿(MySQL)大表的优化
    面试技巧|“唇枪舌剑”之十大招式
    rpc是什么?php中流行的rpc框架有哪些?
    使用 memory_limit 限制 PHP 进程的内存使用
    swoole查看子进程与主进程关系
    使用SecureCRT连接AWS的EC2(Linux系统)亲测可行
    substitute Simple JavaScript Template :
    git 简单图表
    jquery 队列
  • 原文地址:https://www.cnblogs.com/LvLoveYuForever/p/5732387.html
Copyright © 2011-2022 走看看