Redits数据类型

本文详细介绍了Redis的五种数据类型:String、List、Hash、Set和Sorted Set。String类型支持基本操作如SET/GET,List可用于存储有序序列,Hash适合存储对象,Set提供无序唯一元素集合,Sorted Set则包含带权重的有序元素。每种类型都有其特定的应用场景,例如Set用于跟踪唯一数据,Sorted Set可用于积分排行榜。
摘要由CSDN通过智能技术生成

一、String类型

String是redis 最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等

SET/GET/APPEND/STRLEN

127.0.0.1:6379> set d1 1              #创建一个键 值
OK
127.0.0.1:6379> get d1                   #获取键的值
"1"
127.0.0.1:6379> set d2 2              
OK
127.0.0.1:6379> keys *                      #查看有哪些键 可联合d? 或d*使用
1) "d2"
2) "d1"
127.0.0.1:6379> set d1 12             #对于已有的会覆盖
OK
127.0.0.1:6379> get d1
"12"
127.0.0.1:6379> append d1 1           #追加键值
(integer) 3
127.0.0.1:6379> get d1
"121"
127.0.0.1:6379> append d3 32           #对于没有的键会创建
(integer) 2
127.0.0.1:6379> get d3                  
"32"
127.0.0.1:6379> exists d1                #判断键是否存在
(integer) 1
127.0.0.1:6379> exists d4
(integer) 0
127.0.0.1:6379> strlen d1               #判断键值长度
(integer) 3

INCR/DECR/INCRBY/DECRBY

incr key :key值递增1(key值必须为整数)
decr key:key值递减1(key值必须为整数)
decrby key 5 :key值递增5(key值必须为整数)
incrby key 5 :key值递减5 (key值必须为整数)

GETSET

getset key value:获取key的值并返回,同时给key设置新值

127.0.0.1:6379> get d1
"122"
127.0.0.1:6379> getset d1 0   #先返回旧值,在设定新值
"122"
127.0.0.1:6379> get d1
"0"
127.0.0.1:6379> getset d5 1    #对于没有的键,它也会创建
(nil)
127.0.0.1:6379> get d5
"1"

SETEX

setex key seconds value:设置指定的key过期的时间为多少秒

127.0.0.1:6379> setex d2 10 hello    #设置d2过期时间为10秒
OK
127.0.0.1:6379> get d2          #时间范围内能够获取
"hello"
127.0.0.1:6379> ttl d2            #查看d2的生命周期
(integer) 5
127.0.0.1:6379> ttl d2
(integer) -2                            #当为-2代表已经过期了,-1代表永不过期
127.0.0.1:6379> get d2
(nil)                         #过期了,就没有这个键值了 ,获取不到了

SETNX

setnx key value :键不存在的话执行set操作,存在就不执行

127.0.0.1:6379> keys *
1) "d3"
2) "d1"
3) "d5"
127.0.0.1:6379> get d3
"32"
127.0.0.1:6379> setnx d2 10    #没有的键,创建成功
(integer) 1
127.0.0.1:6379> get d2
"10"
127.0.0.1:6379> setnx d3 10    #有的键,创建失败
(integer) 0
127.0.0.1:6379> get d3
"32"

MSET/MGET/MSETNX

mset key value [key value...] :批量设置键值对
mget key [key ...] :批量获取键值对
msetnx key value [key value ...] :批量设置键值对,都不存在就执行并返回1;只要有一个存在就不执行并返回0

127.0.0.1:6379> keys *
1) "d2"
2) "d3"
3) "d1"
4) "d5"
127.0.0.1:6379> mset d4 4 d5 5 d6 6   #支持批量创建且覆盖
OK
127.0.0.1:6379> mget d4 d5 d6       #批量获取
1) "4"
2) "5"
3) "6"


127.0.0.1:6379> msetnx d6 7 d7 7 d8 8   #msetnx若其中已有的键,就不会执行创建 ,会对已有的键进行判断
(integer) 0
127.0.0.1:6379> get d7
(nil)

二、List数据类型

概述:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

LPUSH/LPUSHX/LRANGE

lpush key value [value...] 在头部(左侧)依次插入列表元素
lpushx key value :键
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值