首页 > 数据库 >redis做一个浏览量排行

redis做一个浏览量排行

时间:2024-11-21 11:14:25浏览次数:3  
标签:rand 浏览量 browse redis number echo 排行

浏览量统计的频率是相当高的,如果使用数据库来统计多少会影响系统的性能。而redis是一个高性能的内存数据存储系统,可以短时间内处理大量的读写操作,来做浏览量的统计是很不错的。

<?php

// 连接Redis
$redis = new Redis();
$redis->connect('127.0.0.1');
// 模拟用户访问
$userId = rand(1, 99);
// 增加浏览量
$number = $redis->zScore('browse', $userId);
if ($number){
    $number++;
}else{
    $number = 1;
}
$redis->zAdd('browse', $number, $userId);
// 浏览排名前十
$tenList = $redis->zrevrange('browse', 0, 9, true);
// 我的排名
$myId = 55;// 我的ID
$myRank = $redis->zRevRank('browse', $myId);
echo '我的ID:' . $myId . '&nbsp&nbsp&nbsp我的排名:' . $myRank + 1;
echo '<br/>';
echo '<table>';
echo '<tr><th>排名</th><th>用户ID</th><th>浏览量</th></tr>';
$rand = 1;
foreach ($tenList as $k => $v){
    echo '<tr><td>' . $rand . '</td><td>' . $k . '</td><td>' . $v . '</td></tr>';
    $rand++;
}
echo '</table>';
echo '<br/>';

这里用有序集合就可以简单实现浏览量的统计与排行榜的展示了。

标签:rand,浏览量,browse,redis,number,echo,排行
From: https://blog.csdn.net/zkxiaoxiangzhu/article/details/143937141

相关文章

  • Redis 的 Quicklist 技术竟然能让内存占用降低 50%!
    《Redis的Quicklist技术竟然能让内存占用降低50%!》在当今的互联网时代,数据的存储和管理变得至关重要。Redis作为一款高性能的内存数据库,被广泛应用于各种场景中。而Redis的Quicklist技术更是为我们带来了惊喜,据说它能够让内存占用降低50%!那么,Quicklist究竟是何方神圣......
  • 阿里面试:亿级 redis 排行榜,如何设计?
    本文原文链接文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完......
  • 【lua脚本】lua脚本在redis的实战案例
    一、Lua脚本的基础二、使用Lua脚本三、Lua脚本示例四、优点五、使用案例5.1原子计数5.2批量操作5.3实现Redis事务六、注意事项Lua脚本在Redis中提供了强大的功能,它允许执行原子性的复杂操作,从而提高Redis的性能和安全性。一、Lua脚本的基础原子性......
  • Redis:配置与常用命令
    1,Redis简介Remotedictionaryserver是一个开源的基于内存的数据存储系统,它可以用作数据库缓存和消息队列等各种场景,它也是目前最热门nosql数据库之一2,Redis接受的数据类型字符串String消息队列Stream列表List地理空间Geospatial集合SetHyperLogLog有序集合SortedSet......
  • Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
    Redisson是一个高性能的JavaRedis客户端,提供了丰富的分布式工具集,如分布式锁、Map、Queue等,帮助开发者简化Redis的操作。在集成Redisson到项目时,开发者通常有两种选择:使用Redisson原始依赖。使用RedissonSpringBootStarter。这篇文章将详细介绍这两种集成......
  • 用Redis实现去重的任务队列的多种方案
    前情提要:一点小小的不完善的方案的思考和设计,不对的地方或是更好的方案欢迎大佬们在评论区讨论~需求背景:在Redis里使用List数据结构做任务队列,但是有的时候任务可能会重复添加,所以需要进行去重。队列需要有优先级,尽量减少Redis操作次数。尝试方案目前能够想到的方案......
  • Redis性能优化的18招
    Redis性能优化的18招 前言Redis在我们的日常开发工作中,使用频率非常高,已经变成了必不可少的技术之一。Redis的使用场景也很多。比如:保存用户登录态,做限流,做分布式锁,做缓存提升数据访问速度等等。那么问题来了,Redis的性能要如何优化?为了充分发挥Redis的性能,这篇文章跟大......
  • KubeSphere 最佳实战:K8s 构建高可用、高性能 Redis 集群实战指南
    首发:运维有术本指南将逐步引导您完成以下关键任务:安装Redis:使用StatefulSet部署Redis。自动或手动配置Redis集群:使用命令行工具初始化Redis集群。Redis性能测试:使用Redis自带的Benchmark工具进行性能测试。Redis图形化管理:安装并配置RedisInsight。通过本......
  • Redis的特性
    Redis的基本特性1.速度快(1)redis的所有数据都是存储在内存中的,这是redis速度快的主要原因。(2)redis使用C语言来实现的,C语言实现的程序和系统更接近,因此速度比较快。(3)redis使用单线程,预防了使用多线程产生的竞争问题。2.基于键值对的数据结构服务器redis中的键值对的val......
  • 【Redis集群实战】Redis 以及 Redis Sentinel 的 Docker部署
    Redis基本说明这里我是用的是docker。既然使用docker那么就需要配置两个组件一个Redis一个RedisSentinel我们可以使用docker-compose来启动一组docker安装docker-compose下载docker-compose安装包这里面直接从github下载。并且放在了/usr/local/bin/docker-c......