java redis常用命令_Redis常用命令以及应用场景

如果存储序已经列化的对象,可以使用如下格式的key

​ User::id::{id}

缓存

1.可用来缓存对象,将对象序列化为字符串后,使用格式如User::id::{id}的key存储获取。可使用到命令:

SET key value [EX seconds] [PX milliseconds] [NX|XX]

GET key

例如:

SET User::id::0001 {"id": 0001, "name": "yawn", "age": 18}

2.如果不序列化对象,也可以使用redis的hash类型进行存储和获取:

HSET key field value

HGET key field

key 依然使用User::id::{id}的格式,如下:

HSET User::id::0001 id 0001;

HSET User::id::0001 name yawn;

HSET User::id::0001 age 18;

分布式锁

可使用如下命令实现分布式锁:

SETNX key value; # 获取锁

EXPIRE key seconds; # 设置持有锁的最大时间

DEL key; # 释放锁

SETNX 在key不存在时才能设置成功,可以用来实现分布式锁。

计数器

实现浏览量、点击量计数器,value时数值类型,可以进行增减运算。

SET key value

INCR key # 计数器加1

DECR key # 计数器减一

INCRBY key increment

DECRBY key decrement

GET key # 获取计数

INCR可使value自增1,并返回。

分布式全局序列

分布式全局序列,即产生多个应用中不重复的序列,例如uuid等,也可以用redis实现。

SET key value

INCR key # 获取一个序列

INCRBY key increment # 获取多个序列

可将value设置为数值型,然后每次获取时自增即可。

随机抽奖

随机抽奖可以使用set类型实现。

SPOP key [count] # 随机移除并返回集合中count个值

SRANDMEMBER key [count] # 同上,但不移除

用户点赞、签到

用户点赞、签到功能的实现,可将点赞的用户放到同一个set中。

SADD key number [member ...] # 点赞

SCARD key # 返回点赞的数量

SISMEMBER key member # 某用户是否点赞

SMEMBERS key # 返回所有成员

共同好友功能

共同好友功能,将A和B两个用户的好友分别使用两个set存储,则可以通过关系运算,计算出好友之间的关系。

SUNION key [key ...] # 多个集合的并集

SUNIONSTORE destination key [key ...] # 多个集合的并集并存储在destination中

SINTER key [key ...] # 交集

SINTERSTORE destination key [key ...]

SDIFF key [key ...] # 差集

SDIFFSTORE destionation key [key ...]

例如:

SUNION key [key ...] #

SINTER key [key ...] # 共同好友

SDIFF key [key ...] # 可能认识的人

用户消息列表

用户消息列表,给每个用户维护一个未读消息的列表,阅读之后就移出去。

LPUSH key value [value ...] # 将多个值依次插入到表头

LRANGE key start stop # 返回start和stop之间的元素

LLEN key # 返回list的长度

RPUSH key value [value ...]

RPOP key

新闻热度排行

使用zset做新闻热度排行榜,score为某新闻关键词的热度。

zincrby key 1 # 热度增加1

zrevrange key 0 10 withscores # 获取索引区间内的元素(热度排行前十)

zrevrangebyscore key 999 100 withscores # 获取分数区间内的元素,格式是zrevrangebyscore zset的key 终止score 起始score

相关推荐阅读:Redis数据类型和常用命令操作

redis是以set/get方式存储和获取数据的key-value存储系统 。 redis有五种数据类型:string、list、hash、set、zset。对于不同的数据类型,又不同的操作。 Redis常用操作 string类型操作 hash类型操作 list类型操作 set类型操作 zset类型操作 zset类型中阅读更多Redis数据类型和常用命令操作[...]...

从配置文件学redis–Redis持久化备份

RDB快照 ################################ SNAPSHOTTING ################################## Save the DB on disk:##  ...

数据库事务

一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 事务开始后所有操作,要么全部做阅读更多数据库事务[...]...

Elasticsearch 常用查询和Http请求笔记

创建索引: 查询索引 删除索引 _search 查询 _search DSL查询 term与match的区别: term不会对查询的关键词进行分词,而是进行精确匹配,match会先对关键词进行分词,再查询。 对查询词进行分词:...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值