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. vim 技巧之用宏命令批量处理文件

    今天遇到了一种情况,就是我需要同时修改34个文件中的某些字符串的内容,如果一个个打开需改的话,那也太麻烦了.后来就想着能不能通过vim的宏命令来修改呢?现在就总结下关于宏在文件列表中的应用1.首先,我 ...

  2. QQ 特效学习 二 侧滑删除

    上篇文章: http://www.cnblogs.com/xurui1995/p/5798631.html 今天来写不仅是qq而且在别的软件上也特别流行的侧滑删除 其实套路和前篇的一样,一个自定义Vi ...

  3. Kinect 开发 —— 用户交互设计的若干思考

    Metro 风格 windows 8 Kinect Hub 手势原型设计 悬停选择     翻页控制 关节点重叠的处理方法 将箭靶设置在画面的边缘,这样玩家持弓的角度与屏幕保持一个大约45度的锐角,这 ...

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

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

  5. 安卓手机上安装 谷歌 play 商店

    安卓手机上安装 谷歌 play 商店 安卓(Android)就是现在流行的智能手机系统,它是由Google公司和开放手机联盟领导及开发.由于安卓系统的底层代码(AOSP)是开源的,以GPL和Apach ...

  6. 1.3 Quick Start中 Step 8: Use Kafka Streams to process data官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 8: Use Kafka Streams to process data ...

  7. AJAX - 基本流程和特点

    <script> window.onload = function(ev){ var oBtn = document.querySelector('button'); // querySe ...

  8. BZOJ1195: [HNOI2006]最短母串(Trie图,搜索)

    Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12) ...

  9. jmeter分布式测试的坑(转)

    本文转自:https://www.cnblogs.com/lsjdddddd/p/5806077.html 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的 ...

  10. Java 函数的参数说

    java函数参数传递的到底是值还是引用对确实容易让人迷糊.而很多时候因为对这个问题的模糊甚至造成一些错误.最常见的说法是基本类型传的是值,对象传的引用.对于基本类型,大家都达成共识,没有什么可以争论的 ...