zoukankan      html  css  js  c++  java
  • redis的string类型

    1、简单描述

       string类型是redis最基本的类型,而且string类型是二进制安全的,就是说redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象。string类型最大可以存储1G字节数据。另外,string类型可以被部分命令(比如inrc)按照int类型处理。如果只使用string类型,那么redis可以被当做是拥有持久化功能的memcached,但是redis的string类型的操作比memcached多很多,下面来看具体的命令。

    2、相关命令(基于4.0.1版本,2017年07月发布的redis稳定版本)

    1)set命令:设置key的值,如果成功,返回ok,否则返回0。

    2)setnx命令:设置key的值,如果key存在,则不会设置值而是返回0。

    3)getset命令:设置key为新的值,并且返回旧的值。如果key是不存在的,则设置了值后,返回nil,就是空串的意思。原子操作。

    4)mset命令:设置多个key。

    5)mget命令:获取多个key的值。

    6)msetnx:设置多个key,如果key存在则返回0。

    【注意】msetnx,只要有一个key设置失败,其他的也一起失败:

    上面的例子,如果单独msetnx str5 555是会成功的,因为有一个str这个key是存在的,所以setnx会失败,返回0。

    7)incr命令,给string类型的值加1。

    8)decr命令:给值减1。

    9)incrby命令:给key加上某个数。

    10)decrby命令:给key值减去某个数。

     

    【注意】incrby 加一个负数,相当于decrby命令。

    【注意】对于一个不存在的key进行incr、incrby、decr和decrby命令,会把key的初始值设置为0,然后进行incr等命令操作。

    【注意】如果string类型的值不是整型,就不能做incr等操作。

    11)append命令:给key的值追加一个字符串

    【注意】对一个不存在的key执行append操作,会当做key的初始值为空字符串,然后追加字符串。

    12)substr命令:从key的值里面获取部分的值,不修改key的值。

     

    3、小结

    1)msetnx命令:只要其中有个key的操作是失败的,则所有key都是操作失败;

    2)incr、incrby、decr和decrby命令,如果被操作的key的值不能转为int型,则会返回出错信息;

  • 相关阅读:
    二叉树的层序遍历-102
    剑指offer 06 从尾到头打印链表
    替换空格:剑指offer05
    面试题16.11.跳水板----leetcode
    JVM——垃圾回收
    新生代Eden与两个Survivor区的解释
    JVM 1.8 永久代---元空间 的变动
    Git拉取项目避坑
    python-装饰器
    python-Queue
  • 原文地址:https://www.cnblogs.com/guangye/p/7440679.html
Copyright © 2011-2022 走看看