三、Redis五种主要数据类型

本文详细介绍了Redis的五种主要数据类型:String、List、Set、Hash和Zset。String是最基本的类型,支持 incr/decr 等原子操作;List是双向链表,适用于存储有序列表;Set是无序集合,支持自动去重;Hash是键值对集合,适用于存储对象;Zset是有序集合,提供分数排序功能。每种类型的数据结构、常用命令及应用场景均有涉及。
摘要由CSDN通过智能技术生成

根据前面介绍,Redis是一个基于key-value的非关系型数据库。Redis中的key是一个字符串,value支持多种数据类型。常见的有如下5中数据类型:String、List、Set、Hash、Zset。

 

 

在详细介绍Redis的五种value数据类型之前,首先简单介绍一下Redis常用的关于key的命令:

keys *          查看当前库所有key    (匹配:keys *1)
exists key      判断某个key是否存在
type key        查看key是什么类型
del key         删除指定的key及其对应的value数据
unlink key      非阻塞删除,仅将key从keyspace元数据中删除,真正的删除会在后续异步操作。
expire key 10   为给定的key设置过期时间:10秒钟
ttl key         查看还有多少秒过期,-1表示永不过期,-2表示已过期
select <dbid>   切换数据库
dbsize          查看当前数据库的key的数量
flushdb         清空当前库
flushall        清空所有库,共有16个库。默认使用0号库

1、String

1.1、简介

String是Redis最基本的类型,可以理解成与Memcached一模一样的类型,一个key对应一个value,一个Redis中字符串value最多可以是512M。String类型是二进制安全的。意味着Redis的String可以包含任何数据。比如jpg图片或者序列化的对象。

1.2、常用命令

set     <key> <value>  添加键值对
get     <key>          查询对应键值
append  <key> <value>  将给定的value追加到原值的末尾
strlen  <key>          查看value值的长度
setnx   <key> <value>  只有在key不存在时,设置key的值
incr    <key>          将key对应的value值增1,只能对数字值操作,如果为空,新增值为1
decr    <key>          将key对应的value值减1,只能对数字值操作,如果为空,新增值为-1
incrby  <key> <步长>    将key对应的value值增加<步长>,只能对数字值操作
decrby  <key> <步长>    将key对应的value值减少<步长>,只能对数字值操作

incr/decr、incrby/decrby是原子操作(redis是单线程的)

mset  <key1> <value1> <key2> <value2>   同时设置多个键值对 
mget  <key1> <key2> <key3>              同时查看多个value  
msetnx <key1> <value1> <key2> <value2>  同时设置多个键值对,当且仅当所有key都不存在时成功。

以上msetnx对同时对多个key操作时,具备原子性,即有一个失败则都失败

getrange  <key> <起始位置> <结束位置> 获得值的范围,类似java中的substring,前包,后包

setrange <key> <起始位置> <value>
用value覆写<key>所储存的字符串值࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值