Redis深入学习(三)Redis数据类型选择和应用场景

1. 简介

Redis是一个key-value的存储系统,它的key是字符串类型,value的类型有八种(steam类型是Redis5.0新增的一种)。Redis种命令是忽略大小写的,key是不忽略大小写的。
其中value的数据类型有:
常用的:string字符串类型、list列表类型、set集合类型、sortedset(zset)有序集合类型、hash类型。
不常用的:bitmap位图类型、geo地理位置类型、steam类型。

2. Redis的key的设计

  1. 用:分割
  2. 把表名转换为key的前缀,比如"user:"
  3. 第二段放主键值
  4. 第三段放置列名

例如做如下设置:
在这里插入图片描述
在这里插入图片描述
在Redis Desktop Manager这款Redis可视化管理工具中,只有使用单个:分隔的key名称,层次看起来更直观:
在这里插入图片描述

3. Redis的value的数据类型

3.1 string字符串类型

Redis的字符串类型能表达三种值的类型:

  • 字符串
  • 整数
  • 浮点数

应用场景:

  1. key和命令是字符串
  2. 普通的赋值
  3. incr用于乐观锁
    incr : 递增数字,可用于实现乐观锁watch(事务)
  4. setnc用于分布式锁
    当value不存在时采用复制,可用于实现分布式锁

常见操作命令:

命令名称 命令格式 描述
set set key value 赋值
get getkey 取值
getset getset key value 取值并赋值
setnx setnx key value 当key不存在时才赋值
set key value NX PX 3000原子操作,PX设置毫秒数
append appendkey value 向尾部追加值
strlen strlen key 获取字符串长度
incr incr key 递增数字
incrby incrby key increment 增加指定的整数
decr decr key 递减数字
decr decr key decrement 减少指定的整数

例子:
setnx :
使用setnx命令,如果key不存在则赋值成功,key存在则赋值失败。


127.0.0.1:6379> setnx name jack
(integer) 1
127.0.0.1:6379> setnx name tom
(integer) 0
127
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值