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. 用Maven创建SpringMVC项目

    IDE:Eclipse Jee JDK:8 Tomcat:8 1.创建项目 File->New->Maven Project-> ->Next-> ->Next-& ...

  2. Android自己定义效果——随机抽奖

    那天逛android开源码的时候,看到一个wheel menu的自己定义效果,就是类似人家的那种转盘抽奖,把人家project看了下.认为非常好玩.可是不想在他上面改,于是就自己想了一个类似的随即抽奖 ...

  3. Python 面向对象与 C++、Java 的异同

    1. 子类是否自动调用父类的构造方法 C++.Java 会在子类对象的构造中自动首先调用父类的构造: Python 则相对啰嗦一点: 如果子类不覆盖父类的__init__()方法,则子类默认将执行与父 ...

  4. MyBatis映射

    mybatis-config.xml映射文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  5. Gym 100952 B. New Job

    B. New Job time limit per test 1 second memory limit per test 64 megabytes input standard input outp ...

  6. LuoguP2756 飞行员配对方案问题(最大流)

    题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外 ...

  7. Lusac定理

    转载大佬的模版:http://www.cnblogs.com/vongang/archive/2012/12/02/2798138.html

  8. 分析深圳电信的新型HTTP劫持方式

    昨天深圳下了一天的暴雨,2014年的雨水真是够多的. 用户的资源就是金钱,怎的也要好好利用嘛不是? ISP的劫持手段真是花样百出.从曾经的DNS(污染)劫持到后来的共享检測.无不通过劫持正常的请求来达 ...

  9. linux 批量设置文件夹755 文件644权限

    linux 批量设置文件夹755 文件644权限 文件来源 http://www.111cn.net/sys/linux/109724.htm 本文章来为各位介绍一篇关于linux 批量设置文件夹75 ...

  10. centos6.*yum源更新

    [1] 首先备份 mv /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak [2]编辑vi /etc/yu ...