内容来源于B站【尚硅谷】Redis 6 入门到精通 超详细 教程,在此仅作为个人的笔记、手册使用

1.简介

1.String是Redis中最基本的类型,一个key对应一个value,是单键单值,是二进制安全的,可以包含任何数据,比如jpg图片、序列化对象(只要能转换成二进制符号那就都行
2.以下,我们谈论的操作,都是以String为value类型情况下进行的,这个String是value类型而不是key类型

2.常见命令



redis 字符串长度1千万 redis字符串最大长度_缓存


设置相同的key时,新设置的key-value会覆盖之前同名key的key-value

redis 字符串长度1千万 redis字符串最大长度_取值_02


redis 字符串长度1千万 redis字符串最大长度_缓存_03


redis 字符串长度1千万 redis字符串最大长度_redis_04


5.

redis 字符串长度1千万 redis字符串最大长度_数据库_05


与1有区别,防止覆盖

redis 字符串长度1千万 redis字符串最大长度_redis 字符串长度1千万_06


7.

redis 字符串长度1千万 redis字符串最大长度_缓存_07


也是只能对数字操作

redis 字符串长度1千万 redis字符串最大长度_数据库_08


与incr/decr不同,这俩可以使得增加改变的值不只是1,步长即为你想要增/减的值

redis 字符串长度1千万 redis字符串最大长度_取值_09


对1、2、5操作进行了一点修改,使得能同时有多个对象进行操作。

当然,这个也是原子操作,比如有一个key-value设置不成功,那么对于其他的全都失败

redis 字符串长度1千万 redis字符串最大长度_redis 字符串长度1千万_10


起始位置和结束位置是对于value而言的,[起始位置,结束位置],例如:

redis 字符串长度1千万 redis字符串最大长度_redis_11


11.

redis 字符串长度1千万 redis字符串最大长度_缓存_12


记住,会从起始位置开始覆盖!例如:

redis 字符串长度1千万 redis字符串最大长度_数据库_13


12.

redis 字符串长度1千万 redis字符串最大长度_取值_14


13.

redis 字符串长度1千万 redis字符串最大长度_数据库_15

3.数据结构

redis 字符串长度1千万 redis字符串最大长度_redis 字符串长度1千万_16


redis 字符串长度1千万 redis字符串最大长度_取值_17

4.特别提醒

1.Redis的incr操作是原子操作,一旦执行,未完成就不会被打断。
2.而java的i++并非原子操作,分为取值,++,赋值两部分,比如有一个变量i=0,两个线程分别执行i++100次,最大结果是i=200,即两个线程直接没有互相打断。
而最坏情况是,一开始a线程取值i=0,再到b线程取值i=0,然后a线程进行++99次,再赋值回去,使得i=99,然后b线程抢占cpu,执行1次++,再赋值回去,覆盖成了i=1,然后a线程取值走i=1,最后b线程执行99次++赋值回去使得i=100,而a线程执行1次++(此时a线程取值是i=1),再赋值回去,覆盖成i=2,。
所以对java来说范围在2~200之间。
3.字符串的最大长度为512MB