高级程序员必须精通的Redis,第一篇之——string(字符串)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 高级程序员必须精通的Redis,第一篇之——string(字符串)

1、简介

Redis中所有的的数据结构都是通过一个唯一的字符串key来获取相应的value数据。

Redis有5种基础数据结构,分别是:


string(字符串)

list(列表)

hash(字典)

set(集合)

zset(有序集合)

本文讲述的是Redis的5种基础数据结构中的string(字符串)


2、string(字符串)相关介绍

2.1 string(字符串)的内部结构

string(字符串)是Redis最简单也是使用最广泛的数据结构,它的内部是一个字符数组。如图所示:image.png2.2 string(字符串)的扩容

当string(字符串)的大小达到扩容阈值时,将会对string(字符串)进行扩容,string(字符串)的扩容主要有以下几个点:


长度小于1MB,扩容后为原先的两倍; length = length * 2

长度大于1MB,扩容后增加1MB; length = length + 1MB

字符串的长度最大值为 512MB


3、string(字符串)的指令

3.1 单个键值对增删改查操作

set -> key 不存在则新增,存在则修改


set key value


get -> 查询,返回对应key的value,不存在返回(nil)


get key


del -> 删除指定的key(key可以是多个)


del key [key …]


示例:

image.png

3.2 批量键值对

批量键值读取和写入最大的优势在于节省网络传输开销

mset -> 批量插入

mset key value [key value …]

mget -> 批量获取

mget key [key …]

示例:image.png方式二:

setex key seconds value

示例:image.png

3.4 不存在创建存在不更新

上面的set操作不存在创建,存在则更新;此时如果需要存在不更新的场景,那么可以使用如下这个指令

setnx -> 不存在创建存在不更新

setnx key value

示例:image.png3.5计数

string(字符串)也可以用来计数,前提是value是一个整数,那么可以对它进行自增的操作。自增的范围必须在signed long的区间访问内,[-9223372036854775808,9223372036854775808]


3.5.1 incr -> 自增1

incr key


示例:

image.png

目录
相关文章
|
3月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
335 100
|
3月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
453 99
|
3月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
3月前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
4月前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
295 92
|
5月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
349 14
|
7月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
248 32
|
9月前
|
数据处理
鸿蒙开发:ArkTs字符串string
字符串类型是开发中非常重要的一个数据类型,除了上述的方法概述之外,还有String对象,正则等其他的用处,我们放到以后得篇章中讲述。
550 19