关于网站建设的调查报告自己做音乐网站

web/2025/9/27 11:57:01/文章来源:
关于网站建设的调查报告,自己做音乐网站,查重网站开发,国外做网站被动收入文章目录 String简单介绍常见命令应用场景 Hash简单介绍常见命令应用场景 List简单介绍常见命令应用场景 Set简单介绍常见命令应用场景 Sorted Set(Zset)简单介绍常见命令应用场景 Bitmap简单介绍常见命令应用场景 附录 Redis支持多种数据类型#xff0c;比如String、hash、li… 文章目录 String简单介绍常见命令应用场景 Hash简单介绍常见命令应用场景 List简单介绍常见命令应用场景 Set简单介绍常见命令应用场景 Sorted Set(Zset)简单介绍常见命令应用场景 Bitmap简单介绍常见命令应用场景 附录 Redis支持多种数据类型比如String、hash、list、Set、SortedSet、Streams、Bitmap、Hyperloglog、Geo物理位置等等在 官网也给出了说明本博客就挑一些比较常有的数据类型说说本文例子基于Redisson实现 String 简单介绍 在Redis中所有的数据都是key-value的数据结构存储的那么在Redis中这个string类型的value值只能存储String类型的数据其实不然redis中string类型的value值是可以支持多种类型的比如String、Number、Float、Bits等等但是最大还是只能存储512M。Redis中key也是string类型存储的所以最大也只能存储512M 常见命令 set、get命令就不演示了下面给出一些常有命令 批量设置多个key mset tkey1 tvalue tkey2 111批量获取多个key值 mget tkey1 tkey2获取长度 strlen tkey字符串后面追加内容 append tkey tstring获取指定范围的字符 # 取0~3之间的字符返回1tst getrange tkey 0 3key进行递增(整数) # 返回1 incr ikey # 递增指定大小的值返回124 incrby ikey 124key进行递增(浮点数) # 设置初始浮点数值 set fkey 1.2 # 在原来基础上递增2.4返回3.6 incryfloat fkey 2.4加上key过期时间 expire tkey 10分布式锁实现set if not exists可以使用setnx单个命令也可以使用set结合nx命令来实现 # set tkey过期时间10秒nx如果键不存在时设置 set tkey aaa ex 10 nx # setnx命令相当于set和nx命令一起用 setnx tkey aaaEX 设置指定的到期时间(以秒为单位)。 PX : 设置指定的到期时间(以毫秒为单 NX 仅在键不存在时设置键。 XX 只有在键已存在时才设置。 String 更多指令请参考官网文档https://redis.io/commands/?groupstring 应用场景 对于Redis String类型的应用场景也比较多比如很常有的做缓存处理也可以用于分布式锁、分布式ID 分布式锁的实现主要依赖于命令setnx 分布式ID主要是利用incr这个命令 基于Redis实现一个分布式ID生成器 package com.example.redis.common.handlers;import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component;import javax.annotation.Resource;/*** pre* Redis分布式ID生成器* /pre** pre* 修改记录* 修改后版本: 修改人 修改日期: 2023/11/07 14:18 修改内容:* /pre*/ Component public class RedisIdentifierGenerator implements IdentifierGenerator {Resourceprivate RedisTemplate redisTemplate;Overridepublic Number nextId(Object entity) {String key entity.getClass().getName();return redisTemplate.opsForValue().increment(key);}} Hash 简单介绍 Hash哈希数据类型也是一种比较常见的数据结构相对于Redis的string类型而言其实就是多了一层key(field)所以说只要string类型适用的场景hash都是支持的 常见命令 hash设置key为hkeyfield为a的值 hset hkey a aaaa获取hkey的field值 hget hkey a设置多个field值 hmset hkey a 1 b 2 c 3 d 4获取多个field值 hmget hkey a b c d获取key所有的field hkeys hkey获取key所有field的值 hvals hkey获取key所有fileld和值 hgetall hkey给key某个字段field添加值 hincrby hkey a 10对于Hash的更多命令请参考https://redis.io/commands/?grouphash 应用场景 对于hash的应用场景其实只要redis string类型适用的hash都是适用的不过hash这种特殊的数据结构还是适用于一些特殊场景的 存储一个对象类的数据这个对象的多个字段就对应hash的field存储一些统计类的数据比如访问量、点击量等等 如图如果要统计博客的pv、uv还有评论数量(evaluation_count)随着博客数量的增加存储到数据库里后面肯定会查询比较慢所以可以使用redis进行缓存 使用Redisson来写一个例子 Resourceprivate RedissonClient redissonClient;Testvoid contextLoads() throws ExecutionException, InterruptedException {RMapObject, Object redissonClientMap redissonClient.getMap(recordMap);MapString,Integer map new HashMap();map.put(pv , 1000);map.put(uv , 1500);map.put(evaluation_count,30)redissonClientMap.putAll(map);System.out.println(redissonClientMap.addAndGet(pv, 2));} List 简单介绍 redis中的数据类型存储有序的字符串列表元素是可以重复列表的最大长度为2^32-1个元素4294967295即每个列表超过40亿个元素 常见命令 左右添加元素 # 左边添加元素 lpush queueList a lpush queueList b c# 右边添加元素 rpush queueList d e 左右弹出第一条 # 左边弹出一个元素 lpop queueList # 右边弹出一个元素 rpop queueList左右弹出一个元素并且设置超时直到无数据弹出或者超时 blpop queueList 10 brpop queueList 10应用场景 微信公众号、微博等消息流列表 RDequeObject recordList redissonClient.getDeque(recordList); recordList.addFirst(1.新闻1); recordList.addFirst(2.新闻2); recordList.addFirst(3.新闻3); IntStream.range(0,3).forEach(a-{System.out.println(recordList.poll()); });消息队列使用redis也可以实现消息队列比如使用rpush/lpop实现简单队列blpop或者是brpop来实现阻塞读取队列补充说明同时stream、pub/sub(订阅发布模式)、sortedSet等等也是可以实现的 不过还是不建议使用Redis来实现消息队列因为我们已经有成熟的MQ框架使用redis实现队列有可能有下面的问题 存在内存可能会有数据丢失不能重复消费消费后不能回应没有ack确认机制 Set 简单介绍 Redis中的Set类型是无序集合最大存储数量为2^32-1大概有40亿左右添加、删除元素的时间复杂度都是O(1) 常见命令 添加一个或者多个元素 sadd skey a b c d e f g h获取所有的元素 smembers skey获取集合元素的个数 scard skey随机获取一个元素 srandmember skey随机弹出一个元素 spop skey弹出指定的元素 # 如果两个元素都有返回2 srem skey a g检查元素是否存在 # 元素存在返回1 sismember skey e获取前一个集合有而后面一个集合没有的元素 sdiff skey skey1获取集合的交集 sinter skey skey1获取集合的并集 sunion skey skey1Set的更多命令请参考https://redis.io/commands/?groupset 应用场景 抽奖程序利用spop跟standmember随机弹出元素 RSetString recordSet redissonClient.getSet(recordSet); ListString members Lists.newArrayList(alice, tim,tom , 风清扬, jack ); recordSet.addAll(members); RFutureSetString threeSet recordSet.removeRandomAsync(3); RFutureSetString twoSet recordSet.removeRandomAsync(2); RFutureSetString oneSet recordSet.removeRandomAsync(1); System.out.println(三等奖threeSet.get()); System.out.println(二等奖twoSet.get()); System.out.println(一等奖oneSet.get());集合交集sinter、并集sunion的场景可以实现共同关注等场景 RSetObject tom redissonClient.getSet(tom); tom.addAll(Lists.newArrayList(令狐冲,james,风清扬)); RSetObject jack redissonClient.getSet(jack); jack.addAll(Lists.newArrayList(令狐冲,tim,jack)); System.out.println(共同关注的人tom.readIntersectionAsync(jack).get());sadd 集合存储实现点赞、签到的业务场景 Sorted Set(Zset) 简单介绍 相对于set来说sorted set是一种有序的set排序是根据每个元素的score排序的score相同时根据key的ASCII码排序 常见命令 批量添加元素 zadd z1 10 a 20 b 30 c 40 d 50 e 60 f 70 g 80 h 90 i根据分数从低到高 zrange z1 0 -1 withscore根据分数从高到低 zrevrange z1 0 -1 withscores根据分数范围取值 zrangebyscore z1 20 30移除元素 zrem z1 i获取有序集合个数 zcard z1给某个元素加分值 zincrby z1 20 a获取范围内的个数 zcount z1 50 60返回指定元素的索引值 # 假如d元素排在第4位索引值就返回3 zrank z1 d获取元素的分数 zscore z1 hSorted Set的更多命令请参考https://redis.io/commands/?groupsorted_set 应用场景 排行榜 RScoredSortedSetString school redissonClient.getScoredSortedSet(school); school.add(60, tom); school.add(60, jack); school.add(60, tim); school.addScore(tom, 20); school.addScore(jack, 10); school.addScore(tim, 30); RFutureCollectionScoredEntryString collectionRFuture school.entryRangeReversedAsync(0, -1); IteratorScoredEntryString iterator collectionRFuture.get().iterator(); System.out.println(成绩从高到低排序); while(iterator.hasNext()) {ScoredEntryString next iterator.next();String value next.getValue();System.out.println(value); } RFutureCollectionScoredEntryString collectionRFuture1 school.entryRangeReversedAsync(0, 2); IteratorScoredEntryString iterator1 collectionRFuture1.get().iterator(); System.out.println(成绩前三名); while (iterator1.hasNext()) {System.out.println(iterator1.next().getValue()); }Bitmap 简单介绍 位图不是实际的数据类型而是String类型中定义的一种面向位的操作所以这个位图的最大存储量也是512M。可以容纳最少2^32不同的位可以在不同的位置设置0或者1 常见命令 设置位的值 # 将位2设置为1 setbit permit 2 1获取位的值 getbit permit 2获取key的为1的个数 # 获取位为1的总数 bitcount permit获取0或者1的第一位 # 获取key permit 位为1的第一个位置 bitpos permit 1获取多个bitmap的位操作比如 、| # 获取bkey和permit这两个的运算并且赋值给hbit bitop AND hbit bkey permit应用场景 实时的数据统计 比如人员的考勤打卡记录例如学生tom每次来上课就将相关的位记录位1 假如当月的第一天、第五天、第十天都来了 setbit tom 1 1 setbit tom 5 1 setbit tom 10 1如何每月考勤统计一下这个用户当月来了几天 bitcount tom 也可以应用于统计一个网站一天有多少用户访问例如用户ID为123、124、125的用户访问了csdn setbit csdn:2023-11-08 123 1 setbit csdn:2023-11-08 124 1 setbit csdn:2023-11-08 125 1 ... # 统计一下当天的访问次数 bitcount csdn:2023-11-08 存储用户权限比如用1来表示有权限0表示没权限使用位图可以节省很大的存储空间 附录 Redis命令查询网站https://redis.io/commands/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建立免费网站兰溪做网站哪家好

题目描述 输入一个数n,求出 [1, n] 中每个数码出现的次数,即0 - 9每个数出现的次数。 解题思路 首先是无情的暴力法,可以用于判断我们后续的优化代码是否正确。 import java.io.*; import java.util.*;public class Main1 {static int n;p…

淘宝客网站开发教程做网页的网站叫什么

知网查重会查重表格吗?答案是肯定的。如果出现知网查重表格重复很高,那么我们一样是会进行避免查重的,通常表格在查重后会在报告中展示,如果出现重复会提示大家,我们只需要根据这个提示进行修改降低表格查重率即可。那…

如何做自己网站平台网络商品推广策划书

bug虐我千百遍,我待他如初恋。每次深夜挑灯都是我与bug较量的时间。今天我要说的就是写一个爬虫模版,自动抓取百度图片的教程,这次使用Kotlin编写的爬虫程序在Scrapy框架下完成的,如有不足欢迎指正。 首先,使用Kotlin编…

自己做键盘的网站自己想做个网站

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

动易的网站能否静态广州网络在线推广

#文件防泄密软件# 中科数安是一家专注于信息安全领域的高科技企业,其提供的防止公司内部文件资料及数据外泄的解决方案主要包括图档透明加密和源代码防泄露系统等核心服务。 中科数安 | 图档、源代码防止外泄系统 PC地址: www.weaem.com 1. 图档透明加…

没有备案的网站安徽做网站的公司有哪些

目录 一、1103. 分糖果 II 1.模拟 2.数学 二、312. 戳气球 1.递归-记忆化搜索 2.区间dp 三、2. 两数相加 1.迭代 2.递归-新建节点 3.递归-原节点 四、4. 寻找两个正序数组的中位数 1.堆 2.双指针二分 五、5. 最长回文子串 1.动态规划 2.中心扩展算法 六、6. Z…

外网设计网站2017两学一做竞赛网站

一、DeepLabV3图像语义分割原理 DeepLabV3架构采用扩张卷积(也称为空洞卷积)来捕捉多尺度信息,从而在不损失空间分辨率的情况下实现对图像的精细分割。 二、DeepLabV3代码及预训练权重下载 2.1 下载deeplabv3代码 这里使用的是B站大佬Bu…

天猫建设网站的意义北约网络防御中心

configparser模块(十六) ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该模块的作用就是用来读取配置文件的,使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()这三个方法,创建一个…

东莞网站设计教程北京自助企业建站模板

前文介绍 我们在前面了解到了线性回归模型,其实我们可以把线性回归看成一个单个的神经元,它实际上就完成了两个步骤 1.对输入的特征的加权求和 2.将结果通过传递函数(或者激活函数)输出 这里我们提到了传递函数(或者…

网站流量合作dedecms 网站还原

有用influxdb2 不支持sql,并且实质是个列存储数据库,这里基于 influxdb-client-java 和 beanutils反射,写了个数据查询,把结果以行对象的形式返回的工具类。 package com.joy.malltools.influxdb2;import com.influxdb.client.Q…

深圳外贸建站网络推广联客易如何修改网站模版

报错500。看弹幕,知道可能是yml或sql有问题。 所以检查idea工作台, 直接找UserMapper检查,发现完全OK。 顺着这个error发现可能是sql有问题。因为提示是sql问题,而且是有now()的那个sql。 之后通过给的课件,复制课件…

网站编程学习wordpress自动过滤html标签

mockitoMockito是一个模拟框架,可让您使用简洁的API编写漂亮的测试。 它偏向于最小的规格,使不同的行为看起来有所不同,并显示清晰的错误消息。 创造嘲弄 要使用Mockito创建模拟,只需使用Mock注释模拟,然后调用Mockit…

dede手机网站建设手机行网站

问题描述 对于一个序列a[1],a[2],...,a n]&#xff0c;如果ai满足a<ali-1]且a] < ali 1]&#xff0c;则称 a[ 是一个极小值&#xff0c;如果a园满足ai] > ali-1]且a] > ai1]&#xff0c;则称a是个极大值。给定一个序列&#xff0c;请找到极小值中最大的和极大值中…

南京网站制作的价格vis设计机构

MySQL Replication 大家都非常熟悉了&#xff0c;我也不会写怎么搭建以及复制的原理&#xff0c;网上相关文章非常多&#xff0c;大家可以自己去搜寻。我在这里就是想总结一下mysql主从复制需要注意的地方。有人说主从复制很简单嘛&#xff0c;就是master&#xff0c;slave的se…

网站开发与设计课程时间上海中国国际进口博览会

不锈钢水槽如何安装&#xff1f;3个细节要注意&#xff0c;不能忽视&#xff0c;别被套路了随着时代不断的进步。人们生活水平也是不断的提高。生活用品有时间来选&#xff0c;慢慢的步入了我们的日常中。你们觉得家中最重要的地方是什么呢&#xff1f;其实就是厨房&#xff0c…

网站建站报价单wordpress自定义文章排列顺序

初学Linux&#xff0c;还在摸索中&#xff0c;在这个过程中希望能记录下学习到的东西&#xff0c;参考的的书籍为《鸟哥的Linux私房菜》 在这里学到的主要命令有这几个&#xff1a; data cal bc man shutdown sync 1、基础命令操作 data----显示日期与实践的命令 cal----显示日…

做婚恋网站赚钱吗手工制作大全简单漂亮

IOC 与 DI IOC(Inversion of Control)控制反转&#xff1a;所谓控制反转&#xff0c;就是把原先我们代码里面需要实现的对象创建、依赖的代码&#xff0c;反转给容器来帮忙实现。那么必然的我们需要创建一个容器&#xff0c;同时需要一种描述来让容器知道需要创建的对象与对象…

最好的网站建设团队虚拟主机+wordpress

1.简介 在第一个教程中&#xff0c;我们创建了一个基本的OpenMap GIS应用程序&#xff0c;该应用程序在JFrame中显示一个从文件系统加载的具有一个形状图层的地图。 该教程基于com.bbn.openmap.app.example.SimpleMap 。 在该教程中&#xff0c;我们使用了以下OpenMap类&#x…

大型公司网站建设采集软件

0 abstract 本文介绍了一项对GitHub Copilot&#xff08;一种人工智能编程助手&#xff09;的控制实验结果。研究人员招募了软件开发人员&#xff0c;要求他们尽可能快地用JavaScript实现一个HTTP服务器。实验组可以访问人工智能编程助手&#xff0c;比对照组完成任务的速度快…

大岭山仿做网站基金网站开发

随机创建了长度为十的数组 获得十以类的随机整数 快速获取数组2乘3维的数组 生成20个1到10之间的数组 通过reshape 将这些数变成二位数组 shape这个方法可以查看数组中的元素是几行几列的 转载于:https://www.cnblogs.com/chenligeng/p/9315339.html