redis 传统 5 大数据类型的运用
redis 传统 5 大数据类型的落地应用
Redis 介绍:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)] 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster)提供高可用性(high availability)。
redis 命令查询:www.redis.cn/commands.ht…
备注:redis 命令不区分大小写,而 key 是区分大小写的
查询命令帮助:
help @类型名词
示例:
string 字符串类型
最常用
set key value
get key
同时设置/获取多个键值
MSET key value [key value ...] MGET key [key ,,,]
数值增减
递增数字 incr key
增加指定的整数 incrby key increment
递减数值 decr key
减少指定的整数 decrby key decrement
获取字符长度
STRLEN key
分布式锁
setnx key value
set key value [EX seconds] [PX milliseconds] [NX|XX]
- EX: key 在多少秒后过期
- PX: key自多少毫秒后过期
- NX: 当key 不存在的时候,才创建 key. 效果等同于 setnx
- XX: 当 key 存在的时候,覆盖 key
运用场景
- 商品编号、订单号采用 INCR 命令生成
- 是否喜欢文章点赞
阅读数:只要点击了 rest 地址,直接使用 incr key 命令增加一个数字 1,完成记录数字。
命令实践
hash 哈希类型
和 Java 数据结构映射
Map<Stirng, Map<Object, Object>>
一次设置一个字段值
HSET key field value
一次获取一个字段值
HGET key field
一次设置多个字段值
HMSET key field value [fild value ...]
一次获取多个字段值
HMGET key field [field ...]
获取所有字段值
hgetall key
获取某个 key 内的全部数量
hlen
删除一个 key
hdel