| randomkey | 获取随机key |
| type key | key的类型 |
| set key value | 设置key和value |
| get key | 获取key的value |
| mset key1 value1 key2 value2 | 批量设置key、value |
| mget key1 key2 key3 | 批量获取value |
| del key | 删除key |
| exists key | 判断是否存在key |
| expire key second(秒) | 给key设置过期时间 |
| pexpire key millisecond (毫秒) | 给key设置过期时间 |
| persist key | 删除过期时间,持久保存key |
String类型
简介
String是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
String类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
存储结构类似:key:value
常用命令
命令 | 注释 |
---|---|
set key value | 设置值 |
get key | 获取值 |
getrange key start end | 获取指定范围的value |
getset key value | 设置新value,并返回旧value |
getbit key offset | 获取字符串中某个位置的字符 |
mget key1 key2 | 获取多个value |
setex key second(秒) value | 设置key、value,同时设置过期时间 |
setnx key value | key不存在时设置key |
setrange key offset value | 用新value替换老value部分字符,从offset开始替换 |
strlen key | 获取value长度 |
mset key1 value1 key2 value2 | 批量设置key、value |
msetnx key1 value1 key2 value2 | 批量设置,当且仅当所有要设置的key都不存在时 |
psetex key milliseconds(毫秒) value | 设置过期时间,单位毫秒 |
incr key | 如果value是数字,使用这个语法使数字自增1 |
incrby key increment | 给value增加指定的值increment |
decr key | 给value减去1 |
decrby key decrement | 给value减去指定的值decrement |
append key value | 将value追加到key原来的value尾部 |
List类型
简介
它是一个字符串链表,left、right都可以插入添加;
如果键不存在,创建新的链表;如果键已存在,新增内容;如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。
key
是列表的名称,value
是列表。
存储结构类似:key:[value1, value2, value3, value4]
常用命令
命令 | 注释 |
---|---|
blpop key timeout | 在timeout时间内,获取并移除列表的第一个元素 |
brpop key1 timeout | 在timeout时间内,获取并移除列表的最后一个元素 |
brpoplpush source destination timeout | 在timeout时间内,从source列表中取出一个值,放到destination列表中 |
lindex key index | 获取列表index位置的值 |
linsert key BEFORE | AFTER value1 value2 |
llen key | 返回列表的长度 |
lpop key | 获取并移除列表的第一个元素 |
lpush key value value2 | 将一个或多个value插入到列表的头部 |
lpushx key value | 当key已经存在的时候,向列表的头部插入value |
lrange key start end | 获取列表部分数据,从start到end范围 |
lrem key count value | count>0,从列表的头部开始算起,移除count个value相同的数据;count<0,从列表的尾部开始算起,移除count绝对值个value相同的数据;count=0,全部移除value相同的数据 |
lset key index value | 在列表index位置设置value |
ltrim key start end | 保留start到end内的数据,其余的全部删除 |
rpop key | 获取并移除列表最后一个元素 |
rpoplpush source destination | 移除source列表最后一个元素,并把该元素添加到destination列表的头部 |
RPUSH key value1 value2 | 将一个或多个value添加到列表的尾部 |
rpushx key value | 为已经存在的列表添加值 |
Hash类型
简介
hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
存储结构类似:key:{field1:value1, field2:value2, field3:value3}
如:HMSET keyName
name
“redis tutorial” description
“redis basic commands for caching”
常用命令
命令 | 注释 |
---|---|
hdel key field1 field2 | 删除key中一个或多个field及value |
hexists key field | 查看哈希表key中,指定的field字段是否存在 |
hget key field | 在key中查找filed字段的value值 |
hgetall key | 获取在哈希表中指定 key 的所有字段和值 |
hincrby key field increment | 为哈希表 key 中的指定字段的整数值加上增量increment |
hincrbyfloat key field increment | 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 |
hkeys key | 获取所有哈希表中的字段 |
hlen key | 获取哈希表中字段的数量 |
hmget key field1 field2 | 获取所有指定字段的值 |
hmset key field1 value1 field2 value2 | 同时将多个 field-value对设置到哈希表 key 中 |
hset key field value | 将哈希表 key 中的字段 field 的值设为 value 。 |
hsetnx key field value | 只有在字段 field 不存在时,设置哈希表字段的值。 |
hvals key | 获取哈希表中所有值。 |
hscan key cursor [MATCH pattern] [COUNT count] | 迭代哈希表中的键值对。 |
set类型
简介
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
存储结构类似:key:("value1", "value2", "value3")
常用命令
写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!