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 命令用于设置 ...
随机推荐
- Python3升级3.6强力Django+杀手级xadmin打造在线教育平台✍✍✍
Python3升级3.6强力Django+杀手级xadmin打造在线教育平台 教程 Xadmin安装方法: settings.py 的配置: users App 下的 adminx.py 的配置:
- 【数位DP】[LOJ10163]Amount of Degrees
发现自己以前对数位DP其实一窍不通... 这题可以做一个很简单的转换:一个数如果在$b$进制下是一个01串,且1的个数恰好有k个,那么这个数就是合法的(刚开始没判断必定是01串,只判断了1的个数竟然有 ...
- QSerialPort类
一.简介 QSerialPort类是Qt5封装的串口类,可以与串口进行通信.QSerialPortInfo是一个辅助类,提供串口的一些信息,如可用的串口名称,描述,制造商,序列号,串口16位产 ...
- Math: Fibonacci
https://www.zhihu.com/question/28062458 http://blog.csdn.net/hikean/article/details/9749391 对于Fibona ...
- windows10 vs2019 + opencv 3.4.7环境搭建
windows vs2019 + opencv 3.4.7环境搭建 安装Opencv 3.4.7 下载 Opencv 第1步 进入 opencv releases 页面,点击 "Window ...
- MVVM test
示例代码 public class RegisterUserViewModel { public UserInfo userInfo { get; set; } public ICommand Cli ...
- 2、java变量+零碎知识点
1>展示console:window--show view--console2>创建工程 右键--new---java project 文件夹 jre src 所有的java类都在src中 ...
- LUOGU P3382 【模板】三分法 (三分)
传送门 解题思路 三分,填坑.每次取l与r的中间值mid,然后向左移一点点,向右移一点点进行判断,判断时用秦九韶算法即可. #include<iostream> #include<c ...
- Myeclipse 10使用hibernate生成注解(annotation)实体类
以MySQL数据库为例,请在数据库里面建好对应的表. 1.配置数据库链接 打开Myelipse Database Explorer视图 Window-->Open Perspective--&g ...
- Anaconda如何配置多版本Python
https://blog.csdn.net/guanmaoning/article/details/80031279