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的集合操作( ...
随机推荐
- C#的结构和数组
下面我们继续学习C#的语法.结构struct,C#中的结构和我们PLC中建立的UDT(结构体)是一样的.里面存储了相关的不同类型的数据. 有一句话我觉得十分重要:方法是依存于结构和对象存在的.这以后我 ...
- LeetCode 3sum-closest 题解
思路 排序 枚举一个数a 双指针移动法确定b和c 求和,更新最接近的值 复杂度 T(n)=O(n2)  M(n)=O(1)T(n)=O(n^2) \; M(n)=O(1)T ...
- 851. spfa求最短路(spfa算法模板)
给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出impossible. 数据保证不存在负权回路. 输入格式 ...
- 解决DFS Locations从Eclipse的Navigator中消失的问题
尝试了这篇博客https://blog.csdn.net/qq_40120951/article/details/85028976所说的解决办法,但对我没用. 最后是重新打开Map/Reduce解决的 ...
- C#继承是个啥
继承: 字面意思就是继承 如地主老王有500亩地,老王的儿子小王可以种这五百亩地可以随便拿这五百亩地上面的任何东西 如Controller 你要用从一个controller调用另一个controlle ...
- RN开发-Android原生交互
在使用RN开发过程中,难免有些原生功能需要要自己来实现,下面总结一下在使用RN与原生开发交互. 1.在原生代码中定义实现类 1.1 首先继承 ReactContextBaseJaveModule抽象 ...
- 白面系列 kafka
kafka是一个分布式发布订阅消息系统,也可叫做MQ系统,MQ是Message Queue,消息队列. 通俗点,生产者往队列里写消息,消费者从队列里读.专业点,Producer通过TCP协议发送消息到 ...
- 栈的简单应用之中缀表达式转后缀表达式(C语言实现逆波兰式)
一.前言 普通人在书写计算式时会选择中缀表达式,这样符合人脑的认知习惯.可计算机处理时后缀表达式才能使处理速度更快,其原因是利用堆栈结构减少计算机内存访问.同时它也是一个很好锻炼栈这个数据结构的应 ...
- mybatis(五):源码分析 - sqlsource创建流程
- 0003 配置完整的url访问路径
本文本以OrgsAndUser APP为例,每增加一个url都需要做以下步骤: 1 创建模板 在OrgsAndUsers/Templates目录下创建一个名为org-home.html的文件,内容如下 ...