Redis学习03——存储字符串(String)
---------------------
作者:愤怒的小明
来源: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)的更多相关文章
- redis 学习(3)-- String 类型
redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常 ...
- Redis数据结构(一)-Redis的数据存储及String类型的实现
1 引言 Redis作为基于内存的非关系型的K-V数据库.因读写响应快速.原子操作.提供了多种数据类型String.List.Hash.Set.Sorted Set.在项目中有着广泛的使用,今天我们来 ...
- redis学习(二)——String数据类型
一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的 ...
- redis之Hash存储与String存储内存消耗对照
存储对象User String存储方式: SET media:1155315 939 GET media:1155315 > 939 String结构存储该对象 User243 243600 存 ...
- Redis之数据存储结构
今天去中关村软件园面试,被问到:你做项目用到的Redis处理数据用的什么结构?顿时石化,”用到的结构,不就是key-value嘛,还有什么结构?“.面试官说:“平时除了工作,要加强学习,下面的面试我觉 ...
- Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串
一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...
- Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash
引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...
- redis 基本数据类型-字符串(String)
不瘦原来对redis也是有个大概的了解(就你知道的多), 但是最近和大神聊天的过程中才明白自己知道的简直就是鸡毛蒜皮(让你得瑟),所以不瘦打算从头在捋一遍,顺便把过程也记录下来,如果能给大家在学习re ...
- Python操作redis字符串(String)详解 (三)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...
随机推荐
- 关于type return to continue,or q <return> to quit
由于GDB要打印的信息被分页了 所以需要设置不分页显示 set pagination off
- layui表格监听开关并获取改行id
,{field:'sex', title:'性别', width:85, templet: '#switchTpl', unresize: true} <script type="te ...
- python-包管理工具-pip
目录 Python pip pip相关命令 解决pip相关问题 Python pip回到顶部 Python最让人的喜欢的就是它有丰富的类库和各种第三方的包,而对于这些包的下载.删除等管理操作,就要用到 ...
- 线性回归代码实现(matlab)
1 代价函数实现(cost function) function J = computeCost(X, y, theta) %COMPUTECOST Compute cost for linear r ...
- 1.spark核心RDD特点
RDD(Resilient Distributed Dataset) Spark源码:https://github.com/apache/spark abstract class RDD[T: C ...
- Matrix Power Series
Matrix Power Series 给出矩阵A,求矩阵\(A+A^2+...+A^k\)各个元素\(mod\ yyb\)的值,\(n\leq 30,k\leq 10^9,yyb\leq 10^4\ ...
- 2016.9.24初中部上午NOIP普及组比赛总结
2016.9.24初中部上午NOIP普及组比赛总结 2016.09.24[初中部 NOIP普及组 ]模拟赛 其实这次我没比赛,早上去参加亲子活动去了. 不过在下午我做完了所有的题,感觉还好. 进度 现 ...
- 廖雪峰Java14Java操作XML和JSON-1XML-3SAX
SAX:Simple API for XML 基于事件的API import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXPars ...
- 实现Linux下不间断聊天和退出处理
实现Linux下不间断聊天和退出处理
- python的meshgrid用法和3D库 mpl_toolkits.mplot3d 与PolynomialFeatures多项式库学习
meshgrid import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Ax ...