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的集合操作( ...
随机推荐
- 2018ICPC南京站Problem J. Prime Game
题意: 对于所有数字分解质因子,如果某个质因子在这个区间出现,则贡献为1,求所有质因子对所有区间做的贡献. 解析: 考虑如果所有全部区间都有这个质因子则这个质因子的贡献是n*(n+1)/2,对于任意因 ...
- 解决并发问题的CAS思想及原理
全称为:Compare and swap(比较与交换),用来解决多线程并发情况下使用锁造成性能开销的一种机制: 原理思想:CAS(V,A,B),V为内存地址,A为预期原值,B为新值.如果内存地 ...
- Nginx proxy_set_header 配置注意事项
转载自:https://www.jianshu.com/p/fd16b3d10752 如果没有特别注意 proxy_set_header 配置,使用 proxy_set_header 可能会引起以下问 ...
- (转)R语言 SVM支持向量机在 R 语言中的实现和使用
支持向量机是一个相对较新和较先进的机器学习技术,最初提出是为了解决二类分类问题,现在被广泛用于解决多类非线性分类问题和回归问题.继续阅读本文,你将学习到支持向量机如何工作,以及如何利用R语言实现支持向 ...
- Oracle监听出现的问题总结,以及解决办法
包括的错误类型: 1.ORA-12541: TNS: 无监听程序 2. ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 3.ORA-12560: TNS: 协议适配器错误 ...
- 在用vue-cli4创建的vue2.x项目中通过vue-fontawesome使用fontawesome5
前言 本文写于2020年1月11日,仅提供最基本的引用方法,参考fontawesome5英文官方文档和vue-fontawesome英文官方文档. 正文 在vue项目中使用fontawesome5图标 ...
- docker在windows下和linux下网络底层的一些区别
windows和linux下的docker运行时的网络结构是有区别的 a.windows下,默认使用Hyper-v创建一个linux虚拟机,承载docker.所以从外向内的路径为: windows - ...
- Java上转型和下转型
Java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象. 什么叫父类引用指向子类对象,且听我慢慢道来. 从2个名词开始说起:向上转型(upcasting) .向下转型(downcasti ...
- python&selenium自动化测试实战项目
https://www.cnblogs.com/linuxchao/p/linuxchao-python-selenium-demo.html
- Python中读取目录里的文件并按排序列出
1.os.listdir():用于返回指定的文件夹包含的文件或文件夹的名字的列表. 如: dir ='F:/Home_01/img'#当前目录 filenames=os.listdir(dir)#fi ...