我的编程空间,编程开发者的网络收藏夹
学习永远不晚

redis的用法有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

redis的用法有哪些

这篇文章主要介绍了redis的用法有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

1. 高并发缓存/共享session:

UserInfo getUserInfo (long id) {}

取:

userRedisKey = "user:info:" + id;

value = redis.get(userRedisKey );

if (value != null) {

userInfo = deserialize(value);

return userInfo;

}

存:

userInfo = ***getUserInfo(id);

redis.setex(userRedisKey, 3600, serialize(userInfo));

用string存储序列化后的数据,不够立体直观,可以转为hmset存储为哈希结构,存取更直观

2. 简单分布式锁

setnx只有不存在时能设置成功,其余只能等待。单线程

3. 计数器 incr,因为是单线程,比cas等少了cpu消耗,性能更高

long incrVideoCounter (long id) {

key = "video:playCount:" + id;

return redis.incr(key);

}

4. 实现栈/队列

栈:       lpush + lpop

队列:    lpush + rpop

5. 流量控制/限速

phoneNum = "12345678999";

key = "shortMsg:limit:" + phoneNum;

isExists = redis.set(key, 1, "EX 60", "NX");

if (isExists != null || redis.incr(key) <= 5) {

//通过

} else {

//不通过

}

6. 消息队列

使用lpush + brpop可实现阻塞队列,生产者从列表左端lpush插入元素,多个消费者从右端brpop阻塞获取队列尾部元素

7. 每个用户有自己的文章,现在要分页展示文章列表

hmset article:1 title xx context XXXX

lpush user:1:articles srticle:1 articles:3

articles = lrange user:1:articles 0 9

for article in {articles}

hgetall {article}

8. 关注点赞等

点赞: zincrby user:ranking:2016_03_15 mike 1

取消: zrem user:ranking:2016_03_15 mike

取得赞最多的10个用户: zrevrangebyrank user:ranking:2016_03_15 0 9

展示用户信息及分数: hgetall user:info:tom /  zscore user:ranking:2016_03_15 mike / zrank user:ranking:2016_03_15 mike

9. bitmaps 计算大数据集合见的关系等

10. 排行榜

mike上传了一个视频并获得了3个赞   zadd user:ranking:2016_03_15 mike 3

又有人给点了个赞  zincrby user:ranking:2016_03_15 mike 1

11. 共同关注

给用户添加关注标签   sadd user:1:tags tag1 tag2

给标签添加用户          sadd tag1:uses user:1

共同关注   sinter user:1:tags user:2:tags

sinter/sunion/sdiff

12. 发布订阅

subscribe video:changes:

publish video:changeds "video1,video2"

for video in video1,video2

update (video)

每种数据type对应了多种底层数据结构实现(object encoding),可以通过数据大小长度场景等切换,达到更高的效率

持久化RDB(子进程创建,二进制文件,恢复快,不够实时)/AOF(appendonly。文本文件,实时写操作先aop_buffer,然后通过配置写入磁盘间隔,写入磁盘,达到一定大小合并)

批量hmget等操作要转为hscan等渐进式遍历方法,否则容易阻塞

缓冲:客户端缓冲(输入/输出),复制积压缓冲,aof缓冲

复制: 全量/增量 复制偏移量/复制积压缓冲(写命令发送给从服务器同时还维护一个先进先出的队列,等于主服务还保存着最近传播的命令)/ID

sentinal: 实现高可用,本身是特殊的redis节点,可以自己配置集群,通过心跳等机制监控redis数据集群,当某一节点出现故障不可用,可以及时发现并自动迁移

cluster: 分布式集群,容错选主等。将物理结点映射到16383个槽位实现动态性

感谢你能够认真阅读完这篇文章,希望小编分享redis的用法有哪些内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

redis的用法有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

redis中hash的用法有哪些

Redis中hash的用法有以下几种:1. 存储对象:使用hash数据结构可以将一个对象的各个属性存储在同一个hash中。例如,可以使用一个hash存储用户的信息,包括用户名、密码、年龄等属性。2. 计数器:使用hash可以实现计数器功能,
2023-09-06

redis的常用方法有哪些

Redis的常用方法有:1. SET:设置指定 key 的值。2. GET:获取指定 key 的值。3. DEL:删除指定 key。4. EXISTS:判断指定 key 是否存在。5. KEYS:获取所有符合给定模式的 key。6. TTL
2023-09-06

laravel的redis使用方法有哪些

这篇文章主要介绍“laravel的redis使用方法有哪些”,在日常操作中,相信很多人在laravel的redis使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”laravel的redis使用方法
2023-07-04

查找redis的方法有哪些

以下是Redis的一些常用方法:1. SET key value:设置指定键的值。2. GET key:获取指定键的值。3. DEL key:删除指定键。4. EXISTS key:检查指定键是否存在。5. INCR key:将指定键的值递
2023-09-11

redis加锁的方法有哪些

Redis提供了多种加锁的方法,可以根据具体的场景选择合适的方法。以下是常用的几种方法:1. SETNX:使用SETNX命令可以在Redis中创建一个指定的键值对,只有当键不存在时才会成功创建,可以用作加锁操作。通过判断SETNX命令的返回
2023-08-31

连接redis的方法有哪些

连接 Redis 的方法有以下几种:使用 Redis 客户端库:Redis 客户端库是用于连接和与 Redis 服务器进行通信的软件库。常见的 Redis 客户端库有 Redis 官方提供的 redis-cli,以及各种语言的 Redis
连接redis的方法有哪些
2024-04-09

redis重置的方法有哪些

Redis提供了多种重置的方法,包括:1. FLUSHDB:清空当前数据库的所有数据。```FLUSHDB```2. FLUSHALL:清空所有数据库的数据。```FLUSHALL```3. SELECT:切换到指定的数据库,并清空该数据库
2023-09-11

php操作redis有哪些的常用方法

这篇文章主要介绍“php操作redis有哪些的常用方法”,在日常操作中,相信很多人在php操作redis有哪些的常用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php操作redis有哪些的常用方法”的疑
2023-06-20

Redis用途有哪些

Redis是一种开源的内存数据库,具有以下主要用途:缓存:Redis可以作为缓存存储数据,加速数据访问,减轻数据库的压力。会话存储:Redis可以用来存储用户会话信息,提高网站的性能和扩展性。计数器:Redis支持对计数器进行原子操作,非常
Redis用途有哪些
2024-04-09

redis同步方法有哪些

Redis的同步方法有以下几种:1. RDB持久化:将内存中的数据转存到硬盘上的RDB文件中,通过设置Redis的持久化策略可以定期自动进行RDB持久化,也可以通过命令手动触发。2. AOF持久化:将Redis的写命令以日志的形式追加到AO
2023-08-24

python操作redis的方法有哪些

这篇文章主要介绍了python操作redis的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python操作redis的方法有哪些文章都会有所收获,下面我们一起来看看吧。python 操作redis,
2023-06-05

Python redis的操作方法有哪些

今天小编给大家分享一下Python redis的操作方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。位图操作bitm
2023-06-05

linux启动redis的方法有哪些

在Linux系统上启动Redis有以下几种方法:使用命令行启动:通过终端登录到Linux系统,然后输入redis-server命令启动Redis。$ redis-server将Redis设置为系统服务:将Redis配置为系统服务,可以在系
2023-10-27

Redis在项目中的使用方法有哪些

本篇内容介绍了“Redis在项目中的使用方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!springboot中redis相关配置1、
2023-06-22

Redis整数集合的使用方法有哪些

这篇文章主要讲解了“Redis整数集合的使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis整数集合的使用方法有哪些”吧!一、集合概述 对于集合,STL 的
2023-06-29

redis的场景应用有哪些

这篇文章主要介绍“redis的场景应用有哪些”,在日常操作中,相信很多人在redis的场景应用有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis的场景应用有哪些”的疑惑有所帮助!接下来,请跟着小编
2023-06-04

编程热搜

目录