Redis的第一个数据类型string

1.命令

1.1赋值

语法:SET key value

Set key value;
127.0.0.1:> set test
OK

1.2取值

语法:GET key

127.0.0.1:> get test
"123“

当数据不存在的时候,就返回空。

使用场景:当我们在使用的时候,比如输入用户名,他会首先获取一下,如果没有,就返回用户名不存在。或者当用户的注册一个用户名,判断是否有此用户存在。

1.3取值并赋值

语法:GETSET key value

127.0.0.1:> getset s2   //先获取老的值,子在获取新的值
""
127.0.0.1:> get s2
""

先get在进行set

1.4设置、获取多个值

语法

MSET key value [key value …]

MGET key [key …]

首先先选取数据库

127.0.0.1:> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:> get k1
"v1"
127.0.0.1:> mget k1 k3
) "v1"
) "v3"

用户场景:将数据的多个值获取出来。

1.5删除

语法:DEL key

127.0.0.1:> del test
(integer)

1.6数值增减

递增数字

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

语法:INCR key

127.0.0.1:> incr num
(integer)
127.0.0.1:> incr num
(integer)
127.0.0.1:> incr num
(integer)

增加指定的整数

语法:INCRBY key increment

127.0.0.1:> incrby num
(integer)
127.0.0.1:> incrby num
(integer)
127.0.0.1:> incrby num
(integer)

递减数值

语法:DECR key

127.0.0.1:> decr num
(integer)
127.0.0.1:> decr num
(integer)

减少指定的整数

语法:DECRBY key decrement

127.0.0.1:> decr num
(integer)
127.0.0.1:> decr num
(integer)
127.0.0.1:> decrby num
(integer)
127.0.0.1:> decrby num
(integer) -

可以在系统做访问数量,主键也可以。

1.7向尾部追加

APPEND的作用是向键值的末尾追加value。如果键不存在则将该键的值设置为value,即相当于 SET key value。返回值是追加后字符串的总长度。

语法APPEND key value

127.0.0.1:> set str hello
OK
127.0.0.1:> append str " world!"
(integer)
127.0.0.1:> get str
"hello world!"

1.8获取字符串长度

STRLEN命令返回键值的长度,如果键不存在则返回0。

语法STRLEN key

127.0.0.1:> strlen str
(integer)
127.0.0.1:> set str hello
OK
127.0.0.1:> strlen str
(integer)

1.9应用可作为主键,或者商品条目

定义商品编号key:items:id

127.0.0.1:7003> INCR items:id

(integer) 2

127.0.0.1:7003> INCR items:id

(integer) 3

Redis学习笔记--String(四)的更多相关文章

  1. Redis学习笔记(四) 基本命令:String操作

    原文链接:http://doc.redisfans.com/string/index.html append key value 将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的 ...

  2. 【转】Redis学习笔记(四)如何用Redis实现分布式锁(1)—— 单机版

    原文地址:http://bridgeforyou.cn/2018/09/01/Redis-Dsitributed-Lock-1/ 为什么要使用分布式锁 这个问题,可以分为两个问题来回答: 为什么要使用 ...

  3. Redis学习笔记(四)-数据类型之list类型

    redis的list类型其实就是一个每个子元素都是string类型的双向链表.所以[lr]push和[lr]pop命令的算法时间复杂度都是O(1).另外list会记录链表的长度.所以llen操作也是O ...

  4. Redis 学习笔记(四)RDB 和 AOF 持久化机制

    一.Redis 持久化简介 Redis 的持久化功能是区别于 Memcached 显著特性,数据持久化可以保证系统在发生宕机和重启后数据不会丢失,对于 redis 这种存储在内存中的数据库显得尤为重要 ...

  5. Redis学习笔记(四)——数据结构之List

    一.介绍 Redis列表(List)是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(left)或者尾部(right),一个列表最多可以包含232-1个元素(4294967295, ...

  6. Redis学习笔记(四)集合进阶

    1.组合与关联多个集合 差集: SDIFF key1 [key2...](返回存在于key1但不存在其他集合中的元素) SDIFFSTORE destination key1 [key2...](将存 ...

  7. Redis学习笔记(二) Redis 数据类型

    Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...

  8. Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash

    引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...

  9. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

随机推荐

  1. php intval函数

    php intval函数 作用 intval — 获取变量的整数值 使用实例 <?php echo intval('-42'); // -42 ?> 相似函数 boolval() - 获取 ...

  2. 判断浏览器是否支持某些新属性---placeholder兼容问题解决

    function is_true(){ return 'placeholder' in document.createElement('input'); } 实例:placeholder在低版本IE浏 ...

  3. 如何优雅的写UI——(5)选项卡功能实现

    先在我们的选项卡可以说能用了,每个标签页都能点进去,但是这还远远没到能用的地步,比如说你把窗口最大化后. 立马就露出马脚了,所以这篇我们要先讲讲tabctrl的最基本的功能实现 改变选项卡大小 上图的 ...

  4. 【Uva 12093】Protecting Zonk

    [Link]: [Description] n个节点的树; 每个节点都可以选择3种 1.覆盖和它相连的边; c1花费; 2.覆盖和它相连的边以及和它相连的点相连的边; c2花费; 3.不进行操作 覆盖 ...

  5. 怎样扩展Chromium各层的接口

    加入新功能时,可能须要添加各层的接口,接口怎样加?必定须要向Chromium的原则看齐. 首先Chromium的模块设计遵循依赖倒置原则,上层模块依赖于低层模块.低层模块不会依赖上层模块的实现. 再者 ...

  6. android sdk 镜象网站

    因为一些原因.Google相关非常多服务都无法訪问,所以在非常多时候我们SDK也无法升级,当然通过技术手段肯定能够解决,可是比較麻烦,并且下载速度也不怎么样. 这里笔者介绍一个国内的Android镜像 ...

  7. JavaScript的子集和超集

    1.JavaScript子集 JavaScript子集的定义大部分都是出于安全考虑,仅仅有使用这门语言的一个安全的子集编写脚本,才干让代码运行得更安全.更稳定.比方怎样更安全地运行一段由不可信第三方提 ...

  8. thinkphp杂项功能(主干)

    thinkphp杂项功能(主干) 一.总结 1.杂项功能:杂项里面我需要有点印象的是五个:缓存,多语言,图像处理,文件处理,单元测试 二.thinkphp杂项功能(主干) thinkphp扩展杂项功能 ...

  9. java中异常的限制

    子类在覆盖父类方法时,父类的方法如果抛出了异常,那么子类的方法只能抛出父类的异常或者该异常的子类.如果父类抛出多个异常,那么子类只能抛出父类异常的子集.简单说:子类覆盖父类只能抛出父 ...

  10. js-轮播图的总结

    /*两种播放行为:(一种自动播放,一种控制播放),一个定时器控制. *一个定时器控制两种播放状态. * 布局说明:装图片的盒子足够宽,让图片左浮,排成一排,最后一张重新放置第一张. * 定时器里执行自 ...