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 命令用于设置 ...
随机推荐
- “瑞士军刀”Netcat使用方法总结
前言 最近在做渗透测试的时候遇到了端口监听和shell的反弹问题,在这个过程中自己对Netcat这一款神器有了新的认识,现将一些Netcat的用法做一个小总结,希望对各位有帮助! Netcat简介 N ...
- Git reset的参数
(1) 默认的mixed参数:git reset commit_id,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段. (2) soft 参数:gi ...
- OA系统和ERP系统的区别
一.OA和ERP的区别 1.含义不同: OA指Office Automation,中文简称自动办公系统,帮助企业内部管理沟通的工具,比如新闻公告.内部沟通.考勤.办公.员工请假.审批流程等. ERP指 ...
- 在 /proc 里实现文件
所有使用 /proc 的模块应当包含 <linux/proc_fs.h> 来定义正确的函数. 要创建一个只读 /proc 文件, 你的驱动必须实现一个函数来在文件被读时产生数据. 当 某个 ...
- 输出内容 document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容
输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...
- Android开发 MediaPlayer将视频播放时尺寸适配完美
前言 视频播放有一个较为蛋疼的问题,那就是尺寸适配.如果不做尺寸适配视频将会变形拉伸或者压缩.下面我就介绍个人实现的算法. 满足一边的算法 满足一边?你可能是疑问是什么意思.意思是就是始终将视频的高度 ...
- 从虚拟机视角谈 Java 应用性能优化
从虚拟机视角谈 Java 应用性能优化 周 祥, 软件工程师, IBM 简介:Java 的普及和广泛应用,以及其基于虚拟机运行的机制,使得性能问题越来越重要.本文从 Java 虚拟机的角度,特别是垃圾 ...
- swiper 插件里面嵌套可滚动内容
在移动端使用swiper的整屏滚动,如果slide里面有滚动内容的话,滚动的时候会整个页面一起滚动,如果想里面的滚动区域单独滚动的话,可以在初始化swiper的时候添加上 noSwipingClass ...
- OpenCASCADE 平面求交
OpenCASCADE 平面求交 eryar@163.com OpenCASCADE提供了类IntAna_QuadQuadGeo用来计算两个二次曲面quadric(球面.圆柱面.圆锥面及平面,平面是二 ...
- 【51nod 1874】 奇怪的数学题
题目 求 \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 首先这个次大公约数显然就是\(gcd\)除一下最小质因子了 于是 \[\sum_{i=1}^n\sum_{j= ...