Redis的五种数据类型

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: redis命令不区分大小写,但是key区分的redis中的数据都是字符串redis是单线程(不适合存储比较大的数据)使用incr命令,如果key 不存在,会自动创建key 并自动+1redis中所有的数据都是字符串

1、String:key-value

redis命令不区分大小写,但是key区分的

redis中的数据都是字符串

redis是单线程(不适合存储比较大的数据)

使用incr命令,如果key 不存在,会自动创建key 并自动+1

redis中所有的数据都是字符串

set key value 设置值
get key 获取值
incr key 加一
decr key 减一

2、List

List是有顺序可重复(数据结构中的:双链表,队列),可作为链表 ,从左添加元素 也可以从右添加元素

lpush list a b c d    (从左添加元素)
rpush list 1 2 3 4    (从右边添加元素)
lrange list 0 -1 (从0 到 -1 元素查看:也就表示查看所有)
lpop list (从左边取,删除)
rpop list  (从右边取,删除)

3、Set

Set无顺序,不能重复

sadd set1 a b c d d (向set1中添加元素) 元素不重复
smembers set1 (查询元素)
srem set1 a (删除元素)

4、Hash: key-field-value

相当于一个key 对应一个map (map中又是key- value),

应用于归类

hset key field value 设置值

hget key field 获取值

hincrby key field num 设置增数量

5、SortedSet(zset)

有顺序,不能重复

适合做排行榜 排序需要一个分数属性

zadd zset1 9 a 8 c 10 d 1 e   (添加元素 zadd key score member )
(ZRANGE key start stop [WITHSCORES])(查看所有元素:zrange key  0  -1  withscores)
如果要查看分数,加上withscores.
zrange zset1 0 -1 (从小到大)
zrevrange zset1 0 -1 (从大到小)
zincrby zset2 score member (对元素member 增加 score)

key 命令

expire key second  (设置key的过期时间)
ttl key (查看剩余时间)(-2 表示不存在,-1 表示已被持久化,正数表示剩余的时间)
persist key (清除过期时间,也即是持久化 持久化成功体提示 1 不成功0)
del key: 删除key 
EXISTS key:若key存在,返回1,否则返回0
select 0 表示:选择0号数据库。默认是0号数据库

Redis持久化方案

RDB:保存到磁盘中;AOF:把数据库操作命令保存到文件中,数据库恢复时把命令重新执行一遍

Redis集群:

集群没有入口,连接任意一个即可

集群的容错机制:发送ping命令,超过半数就认为挂掉

redis集群中至少需要三台服务器来保证高可用,三个备用服务器,至少需要6台服务器,需要使用ruby脚本搭建集群

注意:单机版和集群版不能共存,使用单机版时注释集群版的配置。使用集群版,把单机版注释

Redis的使用场景

1、活动倒计时方案


1、活动开始的时间是固定的

2、使用SELECT NOW();取出当前时间并作为基准时间

3、拿活动开始时间-基准时间可以计算出一个秒为单位的数值,并作为活动过期时间

4、在redis中设置一个key(活动开始标识)。使用expire命令将第三步计算出来的时间设置为key的过期时间

5、使用redis中的Ttl命令取出key的剩余生存时间,在前台展示活动剩余的时间


2、秒杀方案


1、把商品的数量放到redis中

2、秒杀时使用redis中的decr命令对商品数量减一。如果不是负数说明抢到

3、一旦返回数值变为0说明商品已售完


目录
相关文章
|
3月前
|
存储 NoSQL 定位技术
Redis数据类型面试给分情况
Redis常见数据类型包括:string、hash、list、set、zset(有序集合)。此外还包含高级结构如bitmap、hyperloglog、geo。不同场景可选用合适类型,如库存用string,对象存hash,列表用list,去重场景用set,排行用zset,签到用bitmap,统计访问量用hyperloglog,地理位置用geo。
102 5
|
3月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
433 2
|
10月前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
395 85
|
7月前
|
NoSQL Redis
Redis的常用数据类型有哪些 ?
Redis 有 5 种基础数据结构,它们分别是:string(字符串)、list(列表)、hash(字典)、set(集 合) 和 zset(有序集合)
|
10月前
|
存储 NoSQL Redis
redis常见数据类型
Redis 是一种基于内存的键值存储数据库,支持字符串、哈希表、列表、集合及有序集合等多种数据类型,每种类型均有特定用途与适用场景,提供丰富的命令操作,适用于高速数据访问与处理。
173 5
|
11月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
217 1
|
12月前
|
存储 消息中间件 NoSQL
Redis 数据类型
10月更文挑战第15天
138 1
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
存储 消息中间件 缓存
深入探析Redis常见数据类型及应用场景
深入探析Redis常见数据类型及应用场景
404 2
|
NoSQL Java Redis
Redis5种数据类型
这篇文章介绍了Redis的五种数据类型:字符串、列表、集合、有序集合和哈希,并通过代码示例展示了如何在Spring框架中使用RedisTemplate操作这些数据类型。
Redis5种数据类型
下一篇
oss教程