Strings类型

String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象。

Strings类型的操作:

Set:设置Key对应的值为string类型的Value。如果多次对同一个Key进行Set操作,值会被覆盖。

如:

127.0.0.1:6379>set username anny

OK

127.0.0.1:6379>get username

"anny"

Setnx:设置Key对应的值为string类型的Value。如果Key已经存在,则返回数字0。nx表示"not exist"意思。

如:

127.0.0.1:6379>setnx username Mary

(integer)0

Setex:设置Key对应的值为string类型的Value,并指定此Key对应的有效期。

如设置Key=colour的有效期为10秒:

127.0.0.1:6379>setex colour 10 red

OK

127.0.0.1:6379>get colour

"red"

127.0.0.1:6379>get colour

(nil)

Setrange:设置指定Key的value值的子字符串。
如将邮箱abc@sohu.com替换成abc@163.com:
127.0.0.1:6379>set myemail abc@sohu.com
OK
127.0.0.1:6379>get myemail
"abc@sohu.com"
127.0.0.1:6379>setrange myemail 4 163.com
(integer)12
127.0.0.1:6379>get myemail
"abc@163.com"

mset:一次设置多个Key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
如:
127.0.0.1:6379>mset key1 Jack key2 Tom key3 Kitty
OK
127.0.0.1:6379>get key2
"Tom"

msetnx:一次设置多个Key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的Key.
127.0.0.1:6379>msetnx key4 Eric key2 Jerry
(integer)0
127.0.0.1:6379>get key4
(nil)

get:获取Key对应的string值,如果Key不存在返回nil。

getset:设置key的值,并返回key的旧值。

127.0.0.1:6379>getset key2 ABC "Tom"

127.0.0.1:6379>get key2 "ABC"

getrange:获取Key的Value值的子字符串。

127.0.0.1:6379>getrange myemail 0 2

"abc"

mget:一次获取多个key的值,如果对应key不存在则对应返回nil。

127.0.0.1:6379>mget key2 key5 key8

1)"ABC"

2)"Jerry"

3)(nil)

incr:对key的值做加加操作,步长为1,并返回新的值。
127.0.0.1:6379>set key6 30
OK
127.0.0.1:6379>get key6
"30"
127.0.0.1:6379>incr key6
(integer)31

incrby:同incr类似,加指定值(即在原值上增加多少),key不存在时会设置key,并认为原来的value是0。
127.0.0.1:6379>get key6
"31"
127.0.0.1:6379>incrby key6 8
(integer)39
127.0.0.1:6379>incrby key6 -8
(integer)31

decr:对key的值做减减操作,步长为1。

127.0.0.1:6379>decr key6

(integer)30

decrby:同decr类似,减指定值(即在原值上减少多少)。

127.0.0.1:6379>decrby key6 5

(integer)25

append:给指定key的字符串追加value,返回新字符串值的长度。
127.0.0.1:6379>get username
"anny"
127.0.0.1:6379>append username @gmail.com
(integer)14
127.0.0.1:6379>get username
"anny@gmail.com"

strlen:取指定key的value值的长度。
127.0.0.1:6379>strlen username
(integer)14

Redis学习第二课:Redis String类型及操作的更多相关文章

  1. redis 学习(3)-- String 类型

    redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常 ...

  2. Redis学习03——存储字符串(String)

    --------------------- 作者:愤怒的小明 来源:CSDN 原文:https://blog.csdn.net/qiwenmingshiwo/article/details/78118 ...

  3. redis 学习(6)-- 集合类型

    redis 学习(6)-- 集合类型 set 结构 无序 无重复 集合间操作 set 集合内操作 命令 含义 sadd key memebr1 [member2...] 向集合中添加一个或多个成员 s ...

  4. redis 学习(5)-- 列表类型

    redis 学习(5)-- 列表类型 列表特点 有序.可以重复.左右两边插入弹出 索引相关知识 索引从左往右,从0开始逐个增大 0 1 2 3 4 5 索引从右往左,从-1开始逐个减小 -6 -5 - ...

  5. redis学习 (key)键,Python操作redis 键 (二)

    # -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...

  6. StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用

    ConnectionMultiplexer ConnectionMultiplexer 是StackExchange.Redis的核心对象,用这个类的实例来进行Redis的一系列操作,对于一个整个应用 ...

  7. Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD

    原文:Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链 ...

  8. cb19a_c++_只适合string类型的操作_提取_追加_替换

    *cb19a_c++_只适合string类型的操作_提取_追加_替换三个substr重载函数-获取一个字符串的一部分六个append重载函数-追加字符十个replace重载函数-替换更换 重载函数越多 ...

  9. Redis string类型常用操作

      Redis 有 string.list.set.zset.hash数据类型.string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习re ...

随机推荐

  1. 用caffe进行图片检索

    1.图片的处理 输入:将自己的图像转换成caffe需要的格式要求:lmdb 或者 leveldb 格式 这里caffe有自己提供的脚本:create_minst.sh 转换训练图片和验证图片的格式,运 ...

  2. 使用better-scroll遇到的问题

    项目中想给侧边栏添加一个滚动效果,用better-scroll帮助实现,引入better-scroll后,给外层最大盒子添加了<aside ref="asideMenu"&g ...

  3. android开发:Android 中自定义属性(attr.xml,TypedArray)的使用

    今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三)查看第三课,这样跟容易方便你的理解! 在xml 文件里定义控件的属性,我们已经习惯了android:att ...

  4. Java之美[从菜鸟到高手演变]系列之博文阅读导航

    随着博文越来越多,为博客添加一个导航很有必要!本博客将相继开通Java.CloudFoundry.Linux.Ruby等专栏,都会设立目录,希望读者朋友们能更加方便的阅读! 在阅读的过程中有任何问题, ...

  5. Codefores 835C-Star sky

    835C-Star sky 思路:dp,预处理一下c+1层前缀和. 代码: #include<bits/stdc++.h> using namespace std; #define ll ...

  6. Paket介绍

    在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目 ...

  7. 二叉树最大宽度 Maximum Width of Binary Tree

    2018-07-27 15:55:13 问题描述: 问题求解: 题目中说明了最后的宽度计算其实是按照满二叉树来进行计算的,也就是说如果我们能够得到每层最左边的节点编号和最右边的节点编号,那么本题就可以 ...

  8. Confluence 6 设置公共访问

    你可以通过为匿名用户启用 'Use Confluence' 权限来启用匿名用户的站点访问(也称为公共访问) 一个匿名用户的定义为一个不需要登录就可以访问 Confluence 站点.使用 Conflu ...

  9. bzoj3262: 陌上花开 三维偏序cdq分治

    三维偏序裸题,cdq分治时,左侧的x一定比右侧x小,然后分别按y排序,对于左侧元素按y大小把z依次插入到树状数组里,其中维护每个左侧元素对右侧元素的贡献,在bit查询即可 /************* ...

  10. oracle进行字符串拆分并组成数组

    CREATE OR REPLACE TYPE CUX_STR_SPLIT_TYPE IS TABLE OF VARCHAR2 (4000); CREATE OR REPLACE PACKAGE cux ...