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型,则会返回出错信息;

  • 相关阅读:
    HZOI20190906模拟38 金,斯诺,赤
    HZOI20190903模拟36 字符,蛋糕,游戏
    HZOI20190902模拟35题解
    HZOI20190829模拟33题解
    HZOI20190828模拟32题解
    HZOI20190823模拟31题解
    HZOI20190823 C magic
    HZOI20190822模拟29题解
    HZOI20190821模拟28题解
    P2925 [USACO08DEC]干草出售Hay For Sale 题解
  • 原文地址:https://www.cnblogs.com/guangye/p/7440679.html
Copyright © 2011-2022 走看看