本文主要是介绍redis学习笔记(2)string类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、概述
- String 是 Redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。
- String 类型是二进制安全的。意味着 Redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。
- String 类型是 Redis 最基本的数据类型,一个 Redis 中字符串 value 最多可以是 512M。
2、string类型的相关操作
- set key value---------key赋值为value,key不存在则生成,存在则覆盖(相当于更新)
- setnx key value--------key赋值为value(只有key不存在才成功,避免被覆盖),返回integer,1-设置成功,0-设置失败
- setex key seconds value---------key赋值为value,并设置过期时间(s)
- mset key value [key value …]--------同时设置一个或多个key的值
- append key value-----------key追加值,返回value长度,从1开始
- incr key----------将key中存储的数字值加一,并返回结果值
- incrby key increment----------将key中存储的数字值加上指定值(increment),并返回结果值
- decr key------------将key中存储的数字减一,并返回结果值
- decrby key decrement--------------将key中存储的数字值减去指定值(decrement),并返回结果值
- get key-------------------返回key值
- MGET key [key…]--------------获取给定(一个或多个)key的值
- getrange key start end----------key中value的子字符串,从0开始
- strlen key-----------key的value长度,从1开始
3、数据结构
String 的数据结构为简单动态字符串 (Simple Dynamic String, 缩写 SDS),是可以修改的字符串,内部结构实现上类似于 Java 的 ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配.
![](/upload/202204/30/202204301913050032.png)
如图中所示,内部为当前字符串实际分配的空间 capacity 一般要高于实际字符串长度 len。当字符串长度小于 1M 时,扩容都是加倍现有的空间,如果超过 1M,扩容时一次只会多扩 1M 的空间。需要注意的是字符串最大长度为 512M。
参考:Redis | ZC 的学习录 (zhangc233.github.io)
这篇关于redis学习笔记(2)string类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!