01.Redis数据类型及高性能原理

Redis 的五种数据结构及其应用场景

Redis官方文档链接:https://redis.io/commands 中文文档:http://redisdoc.com/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v7hzI30t-1645457507435)(..\images\Redis\7.png)]

一、字符串

命令 解释
SET key value 存入字符串键值对
MSET key value [key value …] 批量存储字符串键值对
SETNX key value 存入一个不存在的字符串键值对
GET key 获取一个字符串键值
MGET key [key …] 批量获取字符串键值
DEL key [key …] 删除一个键
EXPIRE key seconds 设置一个键的过期时间(秒)
INCR key 将key中储存的数字值加1
DECR key 将key中储存的数字值减1
INCRBY key increment 将key所储存的值加上increment
DECRBY key decrement 将key所储存的值减去decrement
应用场景
  1. 单值缓存

    SET key value
    GET key
    
  2. 对象存储

    直接存储对象

    SET  user:1  "{"name":"zhangsan","age":18}"
    GET  user:1
    

    拆分对象存储

    MSET  user:1:name  zhangsan   user:1:age  18
    MGET  user:1:name   user:1:age
    
  3. 分布式锁

    加锁
    SETNX  product:10001  true 		// 第一次执行,返回1代表获取锁成功
    SETNX  product:10001  true 		// 再次执行,返回0代表获取锁失败
    删锁
    DEL  product:10001			// 执行完业务释放锁,防止过期不存在可以使用lua脚本
    加锁时设置超时时间
    SET product:10001 true  ex  10  nx	// 防止程序意外终止导致死锁
    
    
  4. 分布式系统全局流水

    INCRBY  id  2000		// redis 批量生成序列号提升性能
    
  5. 计数器

    例如微信推文的阅读量、视频播放量等
    INCR article:readcount:{
         文章id}  	
    GET article:readcount:{
         文章id} 
    
  6. Web集群 session 共享

    spring session 提供了通过 Redis 设置 session 共享的功能

二、Hash

命令 解释
HSET key field value 存储一个哈希表key的键值
HSETNX key field value 存储一个不存在的哈希表key的键值
HMSET key field value [field value …] 在一个哈希表k
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值