zoukankan      html  css  js  c++  java
  • Redis数据类型(字符串)

    Redis存放的字符串为二进制是安全的。字符串长度支持到512M

    incr 

    递增数字INCR key

    当存储的字符串是整数时,redis提供了一个实用的命令INCR,其作用是让当前键值递增,并返回递增后的值。

    从例子可以看出,如果num不存在,则自动会创建,如果存在自动+1

    127.0.0.1:6379> keys *
    1) "test1"
    2) "test"
    127.0.0.1:6379> get test
    "123"
    127.0.0.1:6379> get test1
    "abc"
    127.0.0.1:6379> get test2
    (nil)
    127.0.0.1:6379> incr num
    (integer) 1
    127.0.0.1:6379> keys *
    1) "num"
    2) "test1"
    3) "test"
    127.0.0.1:6379> incr num
    (integer) 2
    127.0.0.1:6379> incr num
    (integer) 3
    127.0.0.1:6379>

     incrby

    指定增长系数

    127.0.0.1:6379> incr num
    (integer) 2
    127.0.0.1:6379> incr num
    (integer) 3
    127.0.0.1:6379> incrby num 2
    (integer) 5
    127.0.0.1:6379> incrby num 2
    (integer) 7
    127.0.0.1:6379> incrby num 2
    (integer) 9
    127.0.0.1:6379> incr num
    (integer) 10
    127.0.0.1:6379>

    decr / decrby

    减少指定的整数

    127.0.0.1:6379> incr num
    (integer) 10
    127.0.0.1:6379> decr num
    (integer) 9
    127.0.0.1:6379> decrby num 3

     incrbyfloat

    整数时,第一次加可以得到正确结果,浮点数后再加浮点就会出现精度问题。

    原来下面的例子是2.8.7版本

    注意在新版本3.0.7中已经修正了这个浮点精度问题。

    127.0.0.1:6379> set num
    (integer) 131
    127.0.0.1:6379> incrfloat num 0.7131.7127.0.0.1:6379> incrfloat num 0.7132.3999999999999999”

     append

    向尾部追加值。如果键不存在则创建该键,其值为写的value,即相当于SET key value

    返回值是追加后字符串的总长度。

    127.0.0.1:6379> keys *
    1) "num"
    2) "test1"
    3) "test"
    127.0.0.1:6379> get test
    "123"
    127.0.0.1:6379> append test "abc"
    (integer) 6
    127.0.0.1:6379> get test
    "123abc"
    127.0.0.1:6379>

    strlen

    字符串长度,返回数据的长度,

    如果键不存在则返回0

    如果键值为空串,返回也是0

    127.0.0.1:6379> get test
    "123abc"
    127.0.0.1:6379> strlen test
    (integer) 6
    127.0.0.1:6379> strlen tnt
    (integer) 0
    127.0.0.1:6379> set tnt ""
    OK
    127.0.0.1:6379> strlen tnt
    (integer) 0
    127.0.0.1:6379> exists tnt
    (integer) 1
    127.0.0.1:6379>

    mset/mget

    同时设置/获取多个键值

    127.0.0.1:6379> flushall
    OK
    127.0.0.1:6379> keys *
    (empty list or set)
    127.0.0.1:6379> mset a 1 b 2 c 3
    OK
    127.0.0.1:6379> mget a b c
    1) "1"
    2) "2"
    3) "3"
    127.0.0.1:6379>
  • 相关阅读:
    Bootstrap3 表格-条纹状表格
    Bootstrap3 表格-基本表格
    Bootstrap3 代码-程序输出
    Bootstrap3 代码-变量
    垃圾回收相关(深入理解Java虚拟机中的内容)
    JVM内存管理及GC机制
    关于Spring IOC (DI-依赖注入)需要知道的一切
    关于 Spring AOP (AspectJ) 该知晓的一切
    JDK1.8源码分析之HashMap
    深入理解Java类加载器(ClassLoader)
  • 原文地址:https://www.cnblogs.com/ccEmma/p/7747532.html
Copyright © 2011-2022 走看看