当前位置: 首页 > wzjs >正文

做网站要学什么c语言asp.net 实现 网站的开关

做网站要学什么c语言,asp.net 实现 网站的开关,做代加工的网站发布,网页设计专业设计课程目录 一、什么是 Redis? 二、Redis 的特点 三、Redis 常见的数据类型 四、Redis 的典型应用场景 五、redis-cli(命令行工具)练习命令 1.1、String 类型(最基本的数据类型) 1.2、List 类型(链表结构&a…

目录

一、什么是 Redis?

二、Redis 的特点

三、Redis 常见的数据类型

四、Redis 的典型应用场景

五、redis-cli(命令行工具)练习命令

1.1、String 类型(最基本的数据类型)

1.2、List 类型(链表结构,支持队列/栈)

1.3、Hash 类型(类似 Java 的 Map / 对象)

1.4、Set 类型(无序集合,元素唯一)

1.5、ZSet 类型(有序集合,score 决定排序)

🔄 附加:清除和查看所有键

六、Java程序中练习命令

先导入必要的类(确保你的项目引入了 Spring Boot Redis 依赖)

完整的代码实现(包含五种类型的完整操作)


一、什么是 Redis?

Redis(Remote Dictionary Server) 是一个开源的、、基于内存的 NoSQL 数据库,据存储在内存中,读取和写入都非常快。是 Key-Value 数据存储系统,常用于缓存、消息队列、排行榜、会话存储等场景。

Redis的中文官网

Redis的英文官网

Redis的中文命令手册

二、Redis 的特点

特点说明
内存存储所有数据存储在内存中,访问速度极快(可达微秒级)
多数据结构支持多种数据类型:String、List、Set、Hash、ZSet(有序集合)等
持久化支持可将内存中的数据异步保存到磁盘(RDB 快照、AOF 日志)
高并发性能单线程模型,但通过非阻塞 I/O 和高效的数据结构实现高性能
发布订阅支持 Pub/Sub(发布订阅)功能,可以用作消息中间件
分布式支持支持主从复制、哨兵机制、Redis Cluster 实现高可用和扩展性

三、Redis 常见的数据类型

数据类型描述
String最基本的数据类型,可以是字符串、数字、JSON 等
List有序列表,可以从两端插入/弹出(队列、栈)
Hash类似于 Map,用于存储对象
Set无序集合,不重复元素
ZSet有序集合,每个元素关联一个分数,按分数排序

四、Redis 的典型应用场景

场景示例说明
缓存缓存数据库查询结果、热点数据等
排行榜系统利用 ZSet 存储并排序用户积分等
分布式锁利用 SETNX 实现简单的分布式锁
消息队列使用 List + 阻塞操作实现任务队列
会话管理存储用户 session,快速访问和过期控制
限流利用计数器 + 过期时间控制 API 请求频率

五、redis-cli(命令行工具)练习命令

1.1、String 类型(最基本的数据类型)

# 设置键值
SET mykey "hello"# 获取键值
GET mykey# 自增(常用于计数器)
SET counter 100
INCR counter     # 自增1
DECR counter     # 自减1
INCRBY counter 10  # 自增10

1.2、List 类型(链表结构,支持队列/栈)

# 从左边插入元素(栈/队列)
LPUSH mylist "a"
LPUSH mylist "b"
LPUSH mylist "c"   # 此时列表为 [c, b, a]# 查看所有元素
LRANGE mylist 0 -1  # 从索引0到最后(-1)# 弹出左边第一个元素(出栈/出队)
LPOP mylist# 弹出右边第一个元素
RPOP mylist# 获取长度
LLEN mylist

1.3、Hash 类型(类似 Java 的 Map / 对象)

# 设置一个哈希字段
HSET user:1 name "张三"
HSET user:1 age 25# 获取某个字段
HGET user:1 name# 获取所有字段
HGETALL user:1# 判断字段是否存在
HEXISTS user:1 age# 删除字段
HDEL user:1 age

1.4、Set 类型(无序集合,元素唯一)

# 添加元素
SADD myset "a"
SADD myset "b"
SADD myset "c"
SADD myset "a"  # 重复元素不会添加# 获取所有元素
SMEMBERS myset# 判断是否存在
SISMEMBER myset "a"# 删除元素
SREM myset "b"# 获取集合大小
SCARD myset

1.5、ZSet 类型(有序集合,score 决定排序)

# 添加元素(带分数)
ZADD myzset 100 "Tom"
ZADD myzset 200 "Jerry"
ZADD myzset 150 "Alice"# 获取从低到高的排名
ZRANGE myzset 0 -1 WITHSCORES# 获取某个元素的分数
ZSCORE myzset "Alice"# 获取某个元素的排名
ZRANK myzset "Alice"  # 从 0 开始的索引# 删除成员
ZREM myzset "Tom"

🔄 附加:清除和查看所有键

# 查看所有 key
KEYS *# 删除 key
DEL mykey# 清空当前数据库(慎用)
FLUSHDB

六、Java程序中练习命令

先导入必要的类(确保你的项目引入了 Spring Boot Redis 依赖)

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

完整的代码实现(包含五种类型的完整操作)

import org.springframework.data.redis.core.*;
import java.util.*;
import java.util.concurrent.TimeUnit;public class TestRedis {private final StringRedisTemplate redisTemplate;public TestRedis(StringRedisTemplate redisTemplate) {this.redisTemplate = redisTemplate;}public void testAllTypes() {long expireSeconds = 3600; // 设置过期时间:1小时// 1️⃣ String 类型String stringKey = "string:key";redisTemplate.opsForValue().set(stringKey, "hello", expireSeconds, TimeUnit.SECONDS);System.out.println("读取 String: " + redisTemplate.opsForValue().get(stringKey));System.out.println("是否存在: " + Boolean.TRUE.equals(redisTemplate.hasKey(stringKey)));redisTemplate.delete(stringKey);// 2️⃣ List 类型String listKey = "list:key";ListOperations<String, String> listOps = redisTemplate.opsForList();listOps.leftPushAll(listKey, "a", "b", "c");redisTemplate.expire(listKey, expireSeconds, TimeUnit.SECONDS);System.out.println("读取 List: " + listOps.range(listKey, 0, -1));System.out.println("是否存在: " + Boolean.TRUE.equals(redisTemplate.hasKey(listKey)));redisTemplate.delete(listKey);// 3️⃣ Hash 类型String hashKey = "hash:key";HashOperations<String, String, String> hashOps = redisTemplate.opsForHash();Map<String, String> map = new HashMap<>();map.put("name", "张三");map.put("age", "25");hashOps.putAll(hashKey, map);redisTemplate.expire(hashKey, expireSeconds, TimeUnit.SECONDS);System.out.println("读取 Hash: " + hashOps.entries(hashKey));System.out.println("是否存在: " + Boolean.TRUE.equals(redisTemplate.hasKey(hashKey)));redisTemplate.delete(hashKey);// 4️⃣ Set 类型String setKey = "set:key";SetOperations<String, String> setOps = redisTemplate.opsForSet();setOps.add(setKey, "a", "b", "c");redisTemplate.expire(setKey, expireSeconds, TimeUnit.SECONDS);System.out.println("读取 Set: " + setOps.members(setKey));System.out.println("是否存在: " + Boolean.TRUE.equals(redisTemplate.hasKey(setKey)));redisTemplate.delete(setKey);// 5️⃣ ZSet(Sorted Set)类型String zsetKey = "zset:key";ZSetOperations<String, String> zSetOps = redisTemplate.opsForZSet();zSetOps.add(zsetKey, "Tom", 100);zSetOps.add(zsetKey, "Jerry", 200);zSetOps.add(zsetKey, "Alice", 150);redisTemplate.expire(zsetKey, expireSeconds, TimeUnit.SECONDS);System.out.println("读取 ZSet: " + zSetOps.rangeWithScores(zsetKey, 0, -1));System.out.println("是否存在: " + Boolean.TRUE.equals(redisTemplate.hasKey(zsetKey)));redisTemplate.delete(zsetKey);}
}

✅ 控制台输出示例(你运行后将看到):

读取 String: hello
是否存在: true
读取 List: [c, b, a]
是否存在: true
读取 Hash: {name=张三, age=25}
是否存在: true
读取 Set: [a, b, c]
是否存在: true
读取 ZSet: [TypedTuple{value='Tom', score=100.0}, ...]
是否存在: true

✅ 说明

操作方法
读取数据get()range()entries()members()rangeWithScores()
判断是否存在hasKey(key)
删除键delete(key)
设置过期时间expire(key, time, TimeUnit.SECONDS)


文章转载自:

http://obq9oG2m.cdrzw.cn
http://wB3B1h6e.cdrzw.cn
http://cKJsrf2f.cdrzw.cn
http://v8qi549G.cdrzw.cn
http://tN0lNeZR.cdrzw.cn
http://uMfStFHi.cdrzw.cn
http://nViVgj4R.cdrzw.cn
http://P78kFCFo.cdrzw.cn
http://obOBFkSL.cdrzw.cn
http://SVQvLI3l.cdrzw.cn
http://0Z2B3two.cdrzw.cn
http://MY25nxyg.cdrzw.cn
http://ODdPqDJj.cdrzw.cn
http://4sBt2ECD.cdrzw.cn
http://svmPStzJ.cdrzw.cn
http://VRQnCUpJ.cdrzw.cn
http://SfqEZCLL.cdrzw.cn
http://q74qUpiY.cdrzw.cn
http://rWtKslGT.cdrzw.cn
http://Cbnn84on.cdrzw.cn
http://TJ1WQMdF.cdrzw.cn
http://CL0o15Xx.cdrzw.cn
http://9W0pODvz.cdrzw.cn
http://s83mbbgX.cdrzw.cn
http://HwPih3v9.cdrzw.cn
http://YnsoQ2Vi.cdrzw.cn
http://FFPhKICy.cdrzw.cn
http://kXuWUyaO.cdrzw.cn
http://LvNCv5HQ.cdrzw.cn
http://NHjB1ckQ.cdrzw.cn
http://www.dtcms.com/wzjs/634596.html

相关文章:

  • 岚山网站建设报价wordpress 中文 模板下载
  • 有没有做生鲜配送的网站购物网站网页设计模板
  • 做企业网站需要买什么资料网站开发与技术
  • 韩韩良品只做性价比网站下载保定建设公司网站
  • 棋牌源码之家网站关键字优化工具
  • 上海网站建设公司网站装修公司排名
  • 哪个网站论文多wordpress v4.9.5
  • 青岛市建设监督管理局网站企业建设网站 入账
  • 兰溪做网站太原小程序制作电话
  • 网站怎么制作客户关系管理的重要性
  • 漯河专业做网站的公司长沙网站开发微联讯点官网
  • 怎么建设推广网站公司注册地址可以变更吗
  • 青岛网站优化公司哪家好网站建设环境搭建心得体会
  • 网站页面创意如何做网站的的关键词
  • 自己制作一个网站的软件协会宣传网站开发方案
  • 微信小视频网站开发WordPress文字按钮变色
  • 新西兰网站建设网站建设 福田
  • 新公司怎么做网站什么是网站挂马
  • 公司网站建设优帮云做直播导航网站
  • 成都彭州网站建设陶瓷 网站模板
  • 昌平网站开发公司太原网络推广公司哪家好
  • 网站赚钱系统人工智能设计网站
  • 合肥学习做网站wordpress documentation
  • 网站建设公司网站源码莱芜论坛话题
  • asp网站源码破解重庆快速建站
  • 给做网站建设的一些建议网站开发公司 上海
  • 南桥做网站wordpress标签插件
  • 茂民网站建设wordpress 什么是插件
  • 太仓网站制作手机如何制作一个网页链接
  • 京东的网站建设历史律师做哪个网站好