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. Apache Spark 1.6公布(新特性介绍)

    Apache Spark 1.6公布 CSDN大数据 | 2016-01-06 17:34 今天我们很高兴可以公布Apache Spark 1.6,通过该版本号,Spark在社区开发中达到一个重要的里 ...

  2. Eclipse怎么导入外来项目

    从File中点击------>import----->General------>然后按下面的图片显示

  3. Bmob移动后端云服务平台--Android从零開始--(一)何为Bmob

    Bmob移动后端云服务平台--Android从零開始--(一)何为Bmob 在正式的项目开发中,单client不能满足我们的需求,须要实现client与服务端的连接. 而在编写Android服务端代码 ...

  4. 利用css去除input按钮上的文字的几种方法

    相信很多时候input上的文字困扰着web前端开发者,必须要通过修改html代码中的value值才能清空按钮上的文字,但很多人不愿意去动html代码,一方面麻烦,另外主要的原因还在于保留文字对seo有 ...

  5. 2018 java实训总结(时间戳&&主键)

    java实训题目:源管理系统. 答辩的时候被老师怼了以下几个的地方: 1.主键改变了 2.没时间戳却说自己的程序里有先后(这就是老师迂腐了,主键自增可以间接反馈出他加入的早晚,即使主键做出了改变但只是 ...

  6. scrollwidth ,clientwidth ,offsetwidth 三者的区别

    clientwidth:内容可视区域的宽度 offsetwidth:元素整体宽度 scrollwidth:实际内容的宽度

  7. 【例题 8-13 UVA - 11093】Just Finish it up

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 尺取法. 假设现在取[l..r]这一段. 然后发现累加的和小于0了. 那么方法只能是不走l..l+1这一段了 即delta递减(p[ ...

  8. Service-监听手机来电

    public class MonitorPhone extends Activity { TelephonyManager tManager; @Override protected void onC ...

  9. 没有killall命令的解决方法

    没有killall命令的解决方法 -bash: killall: command not found https://www.byte128.com/archives/231.html 执行killa ...

  10. js20---接口3种方式

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...