首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java系列学习与数据结构算法

    Java Redis系列2redis安装与使用+redis持久化实现))

    Java Redis系列2redis安装与使用+redis持久化实现) 什么是Redis? ? Redis应用场景 1.缓存(数据查询,短链接,新闻内容,商品内容) 2.聊天室在线好友 3.任务队列(秒杀,抢购) 4.应用排行榜 5.网站访问统计 6.数据过期处理 7.分布式集群架构中 session分离 下载安装 官网:https://redis.io 中文网:http://www.redis.net.cn/ 解压直接可以使用: ? * redis.windows.conf:配置文件 * redis-cli.exe:redis客户端 * redis-server.exe:redis服务器端 Redis数据结构 看过我上一篇文章兄弟应该都知道 redis是一个内存数据库,当redis服务器重启时,数据会丢失,所以我们需要将redis数据持久化到硬盘文件中 redis持久化机制 1.RDB:默认方式,不需要进行配置,默认就是使用这种机制

    38920发布于 2020-09-27
  • 来自专栏zjblog

    Redis学习(2)——Java中使用Jedis连接Redis

    Jedis概述 Redis不仅是使用命令来操作,现在基本上主流语言都有客户端支持。在官方网站里列一些java客服端,有Jedis、Redisson、Jredis、JDBC-Redis等。 其中官方推荐使用Jedis和Redisso。在企业中用最多就是Jedis。 #daemonize yes         该项配置 Redis默认不是以守护进程方式运行,可以通过该配置项修改,使用yes启用守护进程,设置为no         最后重启redis-server 设置密码流程如下:         vim  /etc/redis.conf         #requirepass foobared去掉注释,foobared改为自己密码,我在这里改为          ", "element004"));         System.out.println("查看下标1到2范围内元素值:" + shardedJedis.zrange("zset", 1, 2));

    96420编辑于 2022-06-21
  • 来自专栏SpringCloud专栏

    2 Springboot中使用redis,配置rediskey value生成策略

    上一篇里讲过了redis在spring boot中简单使用,对于单个对象增删改查默认操作。 当然也可以自己定义序列化方式,使用别的Json工具类,或者别的什么方法来完成序列化方式。 完成RedisTemplate设置后,再次save一个Post对象来看看在redis存储方式。 ? 在上一篇里,还提到了无需配置yml中redis属性,ip、port之类,系统会识别默认。下面来看看如何使用自己redis配置。 在配置文件里设置了ip和port及pool等属性,然后打开RedisCacheConfig类,来使用yml里这些redis配置。 这样就完成了redis自定义信息,以后就可以使用RedisTemplate来操作redis了。可以通过修改yml里连接信息来看看是否已生效。

    4.1K20发布于 2019-01-17
  • 来自专栏C++小白

    Redis使用及源码剖析-15.Redis发布订阅-2021-2-2

    文章目录 前言 一、发布订阅命令简介 二、频道订阅和退订 1.频道订阅 2.频道退订 2.频道退订 四、发布消息 五、Redis源码 总结 前言 本文对Redis发布订阅功能实现做了简单介绍,包括发布订阅命令和内部实现 一、发布订阅命令简介 redis客户端可以订阅某个频道或者模式,这样当其他客户端向该频道发布了消息时,订阅了该频道客户端以及订阅了和该频道匹配模式客户端就可以收到。 [a-z]t模式 publish "news.it" "hello" //向news.it频道推送消息,此时订阅该频道以及匹配模式客户端都可以收到消息 二、频道订阅和退订 1.频道订阅 在Redis 一个pubsub_channels 词典示意图如下: 2.频道退订 UNSUBSCRIBE 命令行为和 SUBSCRIBE 命令行为正好相反,当一个客户端退订某个或某些频道时候, 服务器将从 # 三、模式订阅和退订 ## 1.频道订阅 在Redis服务端结构体RedisServer中pubsub_patterns链表里面记录了所有模式订阅关系,其中每一个链表节点都是pubsubPattern

    57430编辑于 2022-02-22
  • 来自专栏架构师成长之路

    Redis详解(2)内存使用与管理

    2)内存使用达到maxmeory上限时触发内存溢出控制策略: 当Redis所用内存达到maxmeory上限时,会触发相应溢出控制策略。 2、内存使用达到maxmeory上限时触发内存溢出控制策略: redis为了更好地实现这个功能,必须为不同应用场景提供不同策略,内存淘汰策略讲的是为实现内存淘汰我们具体怎么做,要解决问题包括淘汰键空间如何选择 ht是一个包含两个项数组,每项都指向一个dictht结构,这也是Redis哈希会有1个dict、2个dictht结构原因。 2. String 和 数字: 如果是整型/长整型,Redis使用int类型(8字节)存储来代替字符串,可以节省更多空间。因此在可以使用长整型/整型代替字符串场景下,尽量使用长整型/整型。 2、其次最好设置下redis.conf中maxmemory选项,该选项是告诉Redis使用了多少物理内存后就开始拒绝后续写入请求,该参数能很好保护好你Redis不会因为使用了过多物理内存而导致

    4.1K20编辑于 2022-04-14
  • 来自专栏web全栈

    mongoose、koa2redis简单安装使用

    mongoose介绍及使用 参考之前文章:点击这里 koa2简介 Koa 是一个新 web 框架,由 Express 幕后原班人马打造, 致力于成为 web 应用和 API 开发领域中一个更小、 koa2安装及使用 打开cmd输入 npm install -g koa generator 安装好插件 创建项目 koa2 -e koa2-learn 启动项目 cd koa2-learn 通过Set get指令查看是否成功 安装中间件 cnpm i koa-generic-session koa-redis 即可以在koa2项目中使用redis mongoose、koa2 案例中使用mongodb数据库,koa2基本框架实现了对数据库增删改查操作,使用redis实现了简单页面访问次数统计 测试接口方法 使用shell操作curl -d 命令 * 前提是使用shell 简单使用:参考地址

    83730编辑于 2022-09-24
  • 来自专栏分享干货的你

    Springboot2使用redis 进行消息订阅发布

    我们都知道redis 也有发布订阅模式, 但是使用比较少。 并且redis发布订阅不会持久化落入磁盘。总的来说就是不可靠。 但是在一些场景我们还是会用到。 1,首先我们要引入 dataRedis jar包, 在配置消息监听器, 指定监听topic , 这里topic 可以使用* 通配符 和? 来全量匹配和模糊匹配。 2, 注册完监听器之后,在监听自己适配器,里面监听自己自定义方法 也可以实现MessageListener, 不需要指定方法。 里面也能获取到topic名字。 具体代码 application,properties 配置 # 默认选择零号数据库 spring.redis.database=0 spring.redis.host=127.0.0.1 spring.redis.port 2" ,咱们设置topic 和发送topic "test.12" 说明模糊匹配是可以, 再试一下全量匹配。 把 "test.?2" 变成 test.* 发布时候置顶两个。 ? ?

    1.7K10发布于 2021-04-23
  • 来自专栏编程之旅

    在Yii2框架中使用Redis

    想要在Yii2这个PHP框架中很好使用redis键值存储,那么首先就要推荐yii2-redis这个官方Github库。 这个库能够很好帮助我们在Yii2框架中使用redis,它提供缓存,Session以及ActiveRecord模式支持。 安装yii2-redis库 推荐使用composer安装yii2-redis库,在你项目根目录执行 php composer.phar require --prefer-dist yiisoft/yii2 yii2框架中使用redis。 示例 简单使用 我们先来看一段最简单使用redis代码: $redis = Yii::$app->redis; $key = 'username'; if ($val = $redis->get($

    1.8K10发布于 2018-08-30
  • 来自专栏有脑子的搬砖工

    redis使用

    redis具体使用 1.key操作 除了空格、换行符 \n外,其他字符基本都可以使用 2.Redis keys 命令 下表给出了与 Redis 键相关基本命令: 序号 命令及描述 1 DEL 2 DUMP key 序列化给定 key ,并返回被序列化值。 3 EXISTS key 检查给定 key 是否存在。 4 EXPIRE key seconds 为给定 key 设置过期时间。 java和redis结合使用 2.9.0 jar 版本下载: jedis-2.9.0.jar 或者导入依赖 <dependency> <groupId>org.springframework.boot List<String> list = jedis.lrange("site-list", 0 ,2); for(int i=0; i<list.size(); i++ = null) { jedisPool.close(); } } } 使用redis Jedis jedis = RedisUtil.getJedis(); System.out.println

    89150发布于 2019-01-17
  • 来自专栏∑小熊猫的博客

    Redis 系列(2) —— Redis 字符串

    缓存 缓存是 Redis 典型使用场景,其中 Redis 作为缓存层,mysql 作为存储层,绝大部分请求数据都是从 Redis 中获取。 由于 Redis 具有支撑高并发特性,所以缓存通常能起到加速读写和降低后端压力作用。 2. 计数器 许多应用都会使用 Redis 作为技术基础工具,他可以实现快计数,,查询缓存功能,同事可以异步到其他数据源。 3. 那么我们便可以使用 Redis 自增命令来实现一个 ID 生成器。 5. 我们可以使用 Redis 分布式锁概念来进行限速

    42530发布于 2021-09-10
  • 来自专栏编程开发基础

    关于Redis入门 2Redis基本操作

    关于Redis入门 2Redis基本操作在上一篇文章中,我们学习了如何安装并配置Redis。 今天,我们将重点介绍Redis基本操作,包括如何使用Redis存储和管理数据,以及如何利用Redis不同数据结构来实现不同应用需求。 通过这篇文章,你将掌握Redis核心命令,打下使用Redis基础。1. Redis基本数据类型Redis支持多种数据结构,每种数据结构都可以高效地执行不同操作。 leaderboard 100 150 # 获取分数在100到150之间元素删除元素: 使用ZREM命令删除有序集合中元素: ZREM leaderboard "Alice"2. "value2"执行事务: 使用EXEC命令提交事务并执行所有命令: EXEC放弃事务: 使用DISCARD命令取消事务,不执行其中命令: DISCARD3.

    21910编辑于 2025-02-23
  • 来自专栏学习之路

    Redis#2】初识 Redis

    Redis 最显著特点是: 高性能 支持多种数据结构 持久化能力 分布式特性(主从复制、哨兵模式、集群) 丰富客户端支持(几乎支持所有主流编程语言) 2. ,现在很少有这样使用场景,反而是有更加专业消息中间件来取代 Redis 功能,不过 Redis 依旧是被使用十分广泛中间件 Redis VS MySQL 不可否认,MySQL 确实是一个很不错数据库软件 示例:SET name "Tom"、GET name 2)Hash(哈希):存储对象,类似 Map。 9)Streams(流):Redis 5.0 引入消息队列结构,支持消息持久化和消费者组。 2. ,存储大量数据,需要不少 硬件资源 注意:Redis 当中存储是全量数据,这里数据是不可以进丢弃 2.

    13800编辑于 2025-06-10
  • 来自专栏JAVA知识总结与分享

    redis(三)redis使用

    ,我这里使用是一个可以运行起来springboot项目 之前有讲过如何快速创建springboot项目,这里不重复赘述了。 ----库存剩余----1 ----库存剩余----0 可以看到,结果又正常了 使用redis代码 synchronized确实可以解决库存不一致问题,但是,因为线上服务大部分都是多节点部署,两台或者两天以上服务器 ,代码加synchronized肯定是不好使 所以这里推荐使用redisredis优势 redis锁基于redis实现 数据存储在内存,操作较快 redis是单线程,安全 修改后代码 使用setIfAbsent ,大脑无法正常运转,导致本文有点别扭(不是有点,我感觉别扭很 o(╥﹏╥)o) redis锁主要用作分布式安全方面,可以通过最后redis锁测试结果看出,虽然库存没有减到0,但是安全得到了保障, 每个数,只被用了一次 我这是第一次使用StringRedisTemplate(之前都是使用Jedis),没有踩过太大坑,所以不敢保障这个redis使用一定正确,但是效果达到了 本文使用redisUtils

    69710发布于 2020-02-18
  • 来自专栏一朵灼灼华的博客

    redisredis安装与使用

    windows 下载 https://github.com/tporadowski/redis/releases 安装启动即可 centos 去地址查找最新版本,或者适合自己 http:// download.redis.io/releases 然后 wget http://download.redis.io/releases/redis-6.2.1.tar.gz 解压 tar zxvf redis-6.2.1.tar.gz 编译 cd redis-6.2.1 make && make install 编辑配置文件 vim redis.conf 启动 redis-server /usr service redis start 简单使用 import redis config = { 'host': '127.0.0.1', 'port': 6379, 'decode_responses ': True } def redis_pool(): pool = redis.ConnectionPool(**config) r = redis.Redis(connection_pool

    45010编辑于 2022-08-05
  • 来自专栏BeJavaGod

    Redis 一二事(2) - 在spring中使用jedis 连接调试单机redis以及集群redis

    Redis真是好,其中键值用起来真心强大啊有木有, 之前文章讲过搭建了redis集群 那么咋们该如何调用单机版redis以及集群版redis使用缓存服务呢? 先讲讲单机版,单机版redis安装非常简单,不多说了,直接使用命令: [root@nginx bin]# . 这是配置redis-cli连接池 然后定义一个接口,这个接口供两个类实现 一个是单机版,一个是集群版 有人会问为啥要2个类实现,因为redis单机和集群都是不同实现方法 一般在开发环境会使用单机版来做测试 没有吧,哈哈 咱们先来建一个通用jedis客户端 (有2个小家伙看不懂最后2个方法什么意思,就加了注释,其实规范点来讲,所有的接口方法都要加注释,而实现类就不需要,但是实现类中私有方法必须加注释,这是规范 使用资源文件配置 #real cluster redis01.real.cluster.client.host=192.168.1.193 redis01.real.cluster.client.port

    83460发布于 2018-04-04
  • 来自专栏C++小白

    Redis使用及源码剖析-21.Redis集群-2021-2-4

    文章目录 前言 一、节点 1.节点启动 2.集群数据结构 3.CLUSTER MEET 命令实现 二、槽指派 1.记录节点槽指派信息 2.传播节点槽指派信息 3.记录集群中所有槽指派信息 三 节点(运行在集群模式下 Redis 服务器)会继续使用所有在单机模式中使用服务器组件,除此之外, 节点会继续使用 redisServer 结构来保存服务器状态, 使用 redisClient 结构来保存客户端状态 2.集群数据结构 clusterNode 结构保存了一个节点的当前状态, 比如节点创建时间, 节点名字, 节点当前配置纪元, 节点 IP 和地址, 等等。 char name[REDIS_CLUSTER_NAMELEN]; // 节点标识 // 使用各种不同标识值记录节点角色(比如主节点或者从节点), // 以及节点目前所处状态 通过向某个集群节点发送cluster addslots命令可以将槽分配给该节点,如下所示: redis>cluster addslots 0 1 2 ......5000 //将槽0-5000分配给客户端连接服务器节点

    26640编辑于 2022-02-22
  • 来自专栏C++小白

    Redis使用及源码剖析-19.Redis复制-2021-2-4

    文章目录 前言 一、同步实现 1.完整重同步 2.部分重同步 a.复制偏移量 b.复制积压缓冲区 c.服务器运行id 二、复制完整过程 1.设置主服务器地址和断开 2.建立套接字连接 3.发送 ping命令 4.身份认证 5.发送端口信息 6.同步 7.命令传播 总结 前言 Redis中用户可以执行slaveof命令让一个服务器去复制另一个服务器,被复制服务器称为主服务器,另一个服务器称为从服务器 例如服务器127.0.0.1:6379从服务器127.0.0.1:12345复制内容命令如下所示: 127.0.0.1:6379>slaveof 127.0.0.1:12345 redis复制分为两步实现 1.完整重同步 在从服务器首次复制主服务器或者从服务器和主服务器数据相差过多时,redis采用完整重同步。 同时,从服务器也会以每秒一次频率向主服务器发送心跳命令,进行心跳检测,防止连接断开或者命令丢失。 总结 本文对redis复制内容进行了简要介绍,如有不当,请指正。

    32210编辑于 2022-02-22
  • 来自专栏SpringCloud专栏

    2 秒杀系统模拟基础实现,使用Redis实现

    这一篇,我们来使用redis进行数据存储。 RedisTemplateincrement来保证操作原子性。 由于使用了RedisTemplate,需要先配置一下。 接口填充为redis @Resource(name = "redis") private GoodInfoService service; 其他不用变,直接运行即可。 可以看到redis同样完成了抢购资格分配。

    54140发布于 2019-01-17
  • 来自专栏代码工具

    2种Go Redis客户端使用对比

    总结go-redis和redigo底层是通过调用万能 Do 方法实现, 但是redigo:由于输入是万能类型所以必须记住每个命令参数和返回值情况, 使用起来非常不友好,参数类型是万能类型导致在编译阶段无法检查参数类型 ,每个命令都需要花时间记录使用方法,参数个数等,使用成本高;go-redis:细化了每个redis每个命令功能, 我们只需记住命令,具体用法直接查看接口申请就可以了,使用成本低;其次它对数据类型按照 Do函数万能参数可以实现所有的功能,但是使用起来非常不友好,参数类型是万能类型,所以在编译阶段无法检查参数类型, 其次每个命令都需要花时间记录使用方法,参数个数等,使用成本高;演示演示基本连接池建立 ,具体用法直接查看接口申请就可以了,使用成本低;其次它对数据类型按照redis底层类型进行统一,编译时就可以帮助检查参数类型, 并且它响应统一采用 Result 接口返回,确保了返回参数类型正确性 :6379") }, } var rdb = redis2.NewClient( &redis2.Options{ Addr: "localhost

    6.3K30编辑于 2022-08-12
  • 来自专栏C++小白

    Redis使用及源码剖析-17.Redis排序-2021-2-3

    、集合键或者有序集合键值进行排序,如下所示: //列表排序 redis>rpush nums 3 1 2 redis>lrange nums 0 -1 3 1 2 redis>sort nums 1 2 3 //集合排序,alpha表示按照字母顺序排序 redis>sadd str aaa bbb ccc redis>smembers str bbb aaa ccc //集合元素是无序 redis >sort str alpha aaa bbb ccc //排序后集合元素 //sort by使用 redis>zadd grade 99 wyl 97 wyq 96 sjx redis>zrange // 排序带有 BY 选项字符串值时使用 robj *cmpobj; } u; } redisSortObject; 2.sort key命令实现 sort key命令可以对一个包含数值 4.by选项实现 默认情况下sort命令使用被排序值进行排序,但是使用by选项后,可以让它按照其他字符串键值进行排序。

    1K40编辑于 2022-02-22
领券