Redis05——Redis五大数据类型 String
String
- String是Redis最基本的数据类型(较常用),一个key对应一个value
- string类型是二进制安全的,Redis的string可以包含任何数据
- 一个Redis中字符串value最多是512M
set和setnx的区别:
set: 如果不存在key,则直接创建,如果存在,将key对应的value值覆盖掉
setnx:如果不存在key,则直接创建,如果存在对key进行操作,返回的结果是0,相当于false
incr key 操作的原子性
- 所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。
- 在单线程中, 能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。
- 在多线程中,不能被其它进程(线程)打断的操作就叫原子操作。
- Redis单命令的原子性主要得益于Redis的单线程
l 思考: java中i++是否是原子操作?
i++并不具有原子性
i++有三个步骤:
- 取值
- 运算
- 赋值
| get <key> | 查询对应键值 |
| set <key> <value> | 添加键值对 |
| append <key> <value> | 将给定的value追加到原值的末尾 |
| strlen <key> | 获取值的长度 |
| senx <key> <value> | 只有在key不存在时设置key的值 |
| incr <key> | 将key中存储的数字值增1,只能对数字值操作,如果为空新增值为1 |
| decr <key> | 将key中存储的数字值减1,只能对数字值操作,如果为空新增至为-1 |
| incrby/decrby <key> 步长 | 将key中存储的数字值增减,自定义步长 |
| mset <key1> <value1> <key2> <value2> | 同时设置一个或者多个key-value对 |
| mget <key1> <key2> | 同时获取一个或者多个value |
| msetnx <key1> <value1> <key2> <value2> | 同时设置一个或多个key-value对,当且仅当所有给定的key都不存在 |
| getrange <key> <起始位置> <结束位置> | 获得值的范围,类似java中的substring(包头包尾) |
| setrange <key> <起始位置> <value> | 用<value>覆盖<key>所存储的字符串值,从<起始位置>开始 |
| setex <key> <过期时间> <value> | 设置键值的同时,设置过去时间,单位秒 |
| getset <key> <value> | 以新换旧,设置了新值的同时获取旧值 |
Redis05——Redis五大数据类型 String的更多相关文章
- Redis五大数据类型的常用操作
在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...
- redis五大数据类型以及常用操作命令
Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...
- 一文搞定Redis五大数据类型及应用场景
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...
- redis 五大数据类型使用
redis 五大数据类型使用 字符串str 单个值 127.0.0.1:6379> set name pp # 设置键值[O(1)] OK 127.0.0.1:6379> setex na ...
- Redis五大数据类型详解
关于Redis的五大数据类型,它们分别为:String.List.Hash.Set.SortSet.本文将会从它的底层数据结构.常用操作命令.一些特点和实际应用这几个方面进行解析.对于数据结构的解析, ...
- 四:Redis五大数据类型
Redis的五大数据类型 1.string(字符串) string是Redis最基本的类型,你可以理解成与menmcached一模一样的类型,一个key对应一个value string类型是二进制安全 ...
- 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型
热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....; => keys product* 订单的 ...
- 细谈Redis五大数据类型
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上一篇文章有提到,Redis中使用最频繁的有5种数据类型:String.List.Hash.Set.SortS ...
- Redis五大数据类型以及操作
目录: 一.redis的两种链接方式 二.redis的字符串操作(string) 三.redis的列表操作(list) 四.redis的散列表操作(类似于字典里面嵌套字典) 五.redis的集合操作( ...
随机推荐
- SendMessage模拟按键所需的虚拟键码
Virtual-Key Codes The following table shows the symbolic constant names, hexadecimal values, and mou ...
- 非最大抑制,挑选和目标重叠框 yolo思想原理
非最大抑制,挑选和目标重叠框 yolo思想原理 待办 https://blog.csdn.net/shuzfan/article/details/52711706 根据分类器类别分类概率做排序,(框的 ...
- rp算法 随机化 刷题记录
刷随机化是真的会上瘾quq 洛谷P3973 [TJOI2015]线性代数 看oiwiki上说可以随机化...于是... 就随机在a[i]上选一位取反,然后更新答案,最后输出答案. ...无话可说 代码 ...
- [Arc068D/At2299] Card Eater - 结论
[Arc068D/At2299] 有一堆牌,每张牌上有一个数字. 每次可以取出其中 \(3\) 张,丢掉数字最大的和数字最小的牌,把中间那张再放回牌堆. 要求最后所有剩余牌上的数字互不相同,求最多能剩 ...
- 占位 SC
占位 SC include: SC404 SC405
- SSM项目使用junit单元测试时Mybaties通配符加载Mapper不能正常加载
个人博客 地址:http://www.wenhaofan.com/article/20181108104133 问题描述 项目使用maven build 以及tomcat run能够正常运行,但是使用 ...
- Jmeter-文件目录
Jmeter文件目录介绍 1.bin:可执行文件目录 (1)jmeter.bat:windows的启动文件 (2)jmeter.log:日志文件 (3)jmeter.sh:linux的启动文件 (4) ...
- arm-linux-gcc
搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下编译出嵌入式Linux系统所需的操作系统.应用程序等,然后再上传到目标机上. 交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构 ...
- 【SQL】基础概念
1.. In order to find the rows where the value for a column is or is not NULL, you would use IS NULL ...
- SVN merge(合并) 时看不到以前的已经合并过的记录的标识
今天遇到这么一个事情,merge的时候以前merge过的提交记录,咩有已合并过的标识了,就是下面这样的尾巴分叉向下的箭头 通常出现这样的情况,都是工程路径不对,检查了一下,没有问题,这些meng B ...