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

Redis学习03存储字符串String
一Redis的5种数据类型
二String说明
三赋值
四取值
五删除
六数值增
七数值减
八数值加上某个值
九数值减去某个值
十拼接字符串
Redis学习03——存储字符串(String)
一、Redis的5种数据类型
Redis是一种高级的 key-value 的存储系统,其中value支持五种数据类型

字符串(String)

哈希(hash)

字符串列表(list)

字符串集合(set)

有序字符串集合(sorted set)

key定义的规则

key不要太长,最大不要超过1024个字节,这不仅会消耗内存还会降 低查询效率

key不要太短,如果太短会降低key的可读性

在项目中,key最好有一个统一的命名规范

二、String说明
字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这意味着该类型存入和获取的数据相同。在Redis中字符串类型的Value最多可以容纳的数据长度是 512M。

三、赋值
赋值可以使用 下面的指令

set key value
1
存储 一个字符串,key是键,value是值。如果该key存在则进行覆盖操作,总是返回 OK 
例如

[root@wiming bin]# ./redis-cli
127.0.0.1:6379> set username wiming
OK
1
2
3
4
四、取值
取值使用如下指令

get key
1
获取key多对应的value。如果value不是String类型,redis将返回错误信息。因为get命令只能用于获取字符串的value。如果不存在,返回(nil)

127.0.0.1:6379> get usernamw
(nil)
127.0.0.1:6379> get username
"wiming"
1
2
3
4
5
还可以使用另外一个指令

getset key value
1
先获取key对应的value值,然后在设置该key的值。

127.0.0.1:6379> getset username qiwenming
"wiming"
127.0.0.1:6379> get username
"qiwenming"
1
2
3
4
5
五、删除
删除可以使用以下命令,这个命令,对所有类型的起作用

del key
1
删除key对应的值和key

127.0.0.1:6379> set deltest woshiwimingwoyaocesih
OK
127.0.0.1:6379> get deltest
"woshiwimingwoyaocesih"
127.0.0.1:6379> del deltest
(integer) 1
127.0.0.
1
2
3
4
5
6
7
六、数值增
如果你想让value自增1,那么一个使用下面命令。如果key不存在,其初始值为0,使用下面的命令后其值会变为1。如果value的值不能转成整型,执行以下操作以后,会执行失败并返回相应的错误信息

127.0.0.1:6379> incr num
(integer) 1
127.0.0.1:6379> incr username
(error) ERR value is not an integer or out of range
1
2
3
4
5
七、数值减
如果你想实现数值减1,操作使用下面的命令,如果没有设置默认值是0。使用命令以后会变-1。如果value不能转成整型,那么就会返回相应的错误信息。

decr key
1
例子

127.0.0.1:6379> decr num2
(integer) -1
127.0.0.1:6379> decr username
(error) ERR value is not an integer or out of range
127.0.0.1:6379> decr num2
(integer) -2

1
2
3
4
5
6
7
8
八、数值加上某个值
要实现key对应的value加上某个值,可以使用下面的命令。increment 为你要加上的值,如果为负数,那么就可以实现减的功能了。

incrby key increment
1
例子

127.0.0.1:6379> incrby num 10
(integer) 11
127.0.0.1:6379> incrby num -5
(integer) 6
1
2
3
4
九、数值减去某个值
要实现key对应的value减去某个值,可以使用下面的命令。decrement 为你要减去的值,如果为负数,那么就可以实现加的功能了。

decrby key decrement
1
例子

127.0.0.1:6379> decrby num2 6
(integer) -8
127.0.0.1:6379> decrby num2 -10
(integer) 2
1
2
3
4
5
十、拼接字符串
下面的指令,可以在我们key对应的字符串后面拼接上我们指定的字符串。如果key不存在,就会创建一个key-value.

append key value
1
例子

127.0.0.1:6379> append appendtest qiwenming
(integer) 9
127.0.0.1:6379> get appendtest
"qiwenming"
127.0.0.1:6379> append appendtest -wiming
(integer) 16
127.0.0.1:6379> get appendtest
"qiwenming-wiming"

Redis学习03——存储字符串(String)的更多相关文章

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

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

  2. Redis数据结构(一)-Redis的数据存储及String类型的实现

    1 引言 Redis作为基于内存的非关系型的K-V数据库.因读写响应快速.原子操作.提供了多种数据类型String.List.Hash.Set.Sorted Set.在项目中有着广泛的使用,今天我们来 ...

  3. redis学习(二)——String数据类型

    一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的 ...

  4. redis之Hash存储与String存储内存消耗对照

    存储对象User String存储方式: SET media:1155315 939 GET media:1155315 > 939 String结构存储该对象 User243 243600 存 ...

  5. Redis之数据存储结构

    今天去中关村软件园面试,被问到:你做项目用到的Redis处理数据用的什么结构?顿时石化,”用到的结构,不就是key-value嘛,还有什么结构?“.面试官说:“平时除了工作,要加强学习,下面的面试我觉 ...

  6. Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串

    一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...

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

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

  8. redis 基本数据类型-字符串(String)

    不瘦原来对redis也是有个大概的了解(就你知道的多), 但是最近和大神聊天的过程中才明白自己知道的简直就是鸡毛蒜皮(让你得瑟),所以不瘦打算从头在捋一遍,顺便把过程也记录下来,如果能给大家在学习re ...

  9. Python操作redis字符串(String)详解 (三)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...

随机推荐

  1. 【转】5G标准——独立组网(SA)和非独立组网(NSA)

    独立组网模式(SA):指的是新建5G网络,包括新基站.回程链路以及核心网.SA引入了全新网元与接口的同时,还将大规模采用网络虚拟化.软件定义网络等新技术,并与5GNR结合,同时其协议开发.网络规划部署 ...

  2. Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  3. <scrapy爬虫>基本操作

    scrapy选择器的用法 //selector可以加可以不加 response.selector.xpath("//title/text()").extract_first() r ...

  4. 将近半个小时,把一小段简短的汇编代码写成了C语言代码

    我自己看,感觉好像一句一句翻译的,写得很是生硬,不如书上写的灵活 0040137E    8B7424 04       MOV ESI,DWORD PTR SS:[ESP+4]00401382    ...

  5. PHPExcel SUM 返回0

    使用PHPExcel 导出Excel最后的代码是: $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel2007' ...

  6. 2016.11.5初中部上午NOIP普及组比赛总结

    2016.10.29初中部上午NOIP普及组 这次比赛算是考的最差的一次之一了,当中有四分之三是DP. 进度: 比赛:没分+0+没分+40=40 改题:AC+0+没分+40=140 TurnOffLi ...

  7. DRF初识

    目录 Web API接口 什么是Web API接口 接口四大特征 接口文档的编写测试 restful接口规范 url链接设计 五大请求方式 响应结果 DRF框架安装 基于原生Django实现十大接口 ...

  8. LUOGU P2831 愤怒的小鸟 (NOIP 2016)

    题面 题解 好像昨天wxl大爷讲的是O(Tn*2^n)的做法,后来没想通,就自己写了个O(Tn^2*2^n)的暴力状压, 莫名其妙过了??数量级二十亿??懵逼,可能到了CCF老爷机上就T了.dp[S] ...

  9. python的meshgrid用法和3D库 mpl_toolkits.mplot3d 与PolynomialFeatures多项式库学习

    meshgrid import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Ax ...

  10. mysql列属性操作(转载)

    1.mysql中修改字段长度: ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50); 这里的tb_article为表名,NAME为字段名,50为 ...