redis
文章平均质量分 58
angen2018
积少成多
展开
-
springboot怎么使用Redisson
1. **分布式集合**:Redisson提供了多种分布式集合的实现,如`RSet`(集合)、`RMap`(映射)、`RList`(列表)、`RQueue`(队列)、`RDeque`(双端队列)等。4. **同步器**:除了锁之外,Redisson还提供了其他同步器,如`Semaphore`(信号量)、`CountDownLatch`(闭锁)、`CyclicBarrier`(循环屏障)等。3. **分布式锁**:`RLock`提供了可重入锁的功能,支持多种锁模式,如公平锁、联锁、红锁等。原创 2024-08-07 20:30:27 · 902 阅读 · 0 评论 -
java和redis jedis包
jedis的连接池叫JedisPool,在创建连接池后我们可以从连接池中获取连接,客户端连接Redis使用的是TCP协议,直连的方式每次需要建立TCP连接,而连接池的方式是可以预先初始化好Jedis连接,所以每次只需要从Jedis连接池借用即可,而借用和归还操作是在本地进行的,只有少量的并发同步开销,远远小于新建TCP连接的开销。如果把配置放在代码里的话耦合度会比较高,所以一般我们把配置放在配置文件中,这样要使用的时候加载配置即可。ZSet有序集合类型。......原创 2022-07-17 23:41:20 · 509 阅读 · 0 评论 -
spring-boot整合redis,自定义序列化方式,RedisUtil工具类
参考(12条消息) spring-boot整合redis,自定义序列化方式,RedisUtil工具类_燕某的博客-CSDN博客在RedisTemplate.java源码中我们可以看到,我们可以看到这样一段代码if (defaultSerializer == null) { defaultSerializer = new JdkSerializationRedisSerializer( classLoader != null ? classLoader : this.getClas原创 2021-08-30 21:40:17 · 280 阅读 · 0 评论 -
redis 学习20 ---集群
在/usr/local/bin目录下创建一个文件夹mkdir redis_cluster然后在redis_cluster 文件夹下分别创建6个目录mkdir 7000 7001 7002 7003 7004 7005然后将redis.conf分别cp到各个文件夹[root@localhost redis_cluster]# cp /usr/local/bin/redis.conf ./7000[root@localhost redis_cluster]# cp /usr/local/b原创 2020-09-02 14:42:58 · 158 阅读 · 0 评论 -
redis 学习19 ---哨兵模式
设置哨兵配置文件sentinel.conf#sentinel monitor 被监控的名称 host port 1sentinel monitor myredis 127.0.0.1 6380 1后面这个数值1,代表主机挂了,slave投票看谁成为新的主机启动哨兵服务redis-sentinel sentinel.conf哨兵模式优点:1,哨兵集群,基于主从复制模式,所有主从配置优点它都有2,主从可以切换,故障可以转移,系统的可用性就会更好3,哨兵模式就是主从复制的升级版原创 2020-09-02 12:23:09 · 115 阅读 · 0 评论 -
redis 学习18 ---主从复制
主从复制,读写分离!减缓服务器压力!最少1主2丛。主从复制主要作用:1,数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式2,故障恢复:当主节点故障时,可由从节点提供服务,实现快速的故障恢复。实际上是一种服务的冗余3,负载均衡4,高可用基石:主从复制是哨兵模式和集群能够实施的基础。因此说主从复制是redis高可用的基础。info replication #查看当前服务的信息实际操作:先cp三个配置文件[root@localhost bin]# cp re原创 2020-09-01 18:33:29 · 120 阅读 · 0 评论 -
redis 学习17 ---发布订阅
1 PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。 2 PUBSUB subcommand [argument [argument ...]] 查看订阅与发布系统状态。 3 PUBLISH channel message 将信息发送到指定的频道。 4 PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道。 5 SUBSCRIBE ch...原创 2020-09-01 17:23:36 · 100 阅读 · 0 评论 -
redis 学习16 ---redis持久化操作
rdb持久化rdb比aof效率更加高效,但是最后一次持久化的数据有可能会丢失触发机制:1,配置文件中save满足条件了会触发规则2,执行flushall命令也会触发规则3,把redis关机时也会触发如何恢复rdb文件只需要把rdb文件放到redis启动目录下即可,redis在开机时会自动操作恢复数据那么如何查看需要存放rdb文件的位置呢127.0.0.1:6379> config get dir1) "dir"2) "/usr/local/bin" #如果在..原创 2020-09-01 16:23:10 · 110 阅读 · 0 评论 -
redis 学习15 ---redis.conf详解
1,配置单位,对大小写不敏感2,包含,可以引入其它的配置文件3,网络bind 127.0.0.1 #绑定的ip,如果想要远程访问就改为bind 0.0.0.0protected-mode yes #保护模式port 6379 #端口设置4,通用配置GENERALdaemonize yes #以守护进程方式运行,默认是no,我们需要修改成yespidfile /var/run/redis_6379.pid #如果需要用守护进程方式运行,就必须知道一个pid进程文原创 2020-09-01 15:41:10 · 121 阅读 · 0 评论 -
redis 学习14 ---乐观锁
监控(watch)悲观锁:很悲观,认为什么时候都会出现问题,无论做什么都会加锁!乐观锁:很乐观,认为什么时候都不会出现问题,所以不会上锁!更新数据的时候回去判断一下,在此期间是否有人修改过这个数据。获取version,然后更新的时候比较version。redis的监视测试正常执行的情况127.0.0.1:6379> set money 100OK127.0.0.1:6379> set outmoney 0OK127.0.0.1:6379> mulit.原创 2020-09-01 15:05:38 · 84 阅读 · 0 评论 -
redis 学习13 ---事务
redis单条命令是保证原子性的,而redis事务不保证原子性redis事务的本质:一组命令的集合!一个事务中的所有命令是会被序列化,在事务执行过程中,命令会按照顺序执行!一次性!顺序性!排他性!并没有隔离级别的概念!redis事务1,开启事务:multi2,命令入队:其他命令3,执行事务:exec放弃事务:discard编译时异常:命令有错误,事务中的所有命令都不会执行!运行时异常:set k1 "v1"multiincr k1set k2 "k2"exec原创 2020-09-01 14:08:19 · 84 阅读 · 0 评论 -
redis 学习12 ---bitmaps(位图、位存储)
使用场景:打卡,活跃度,登录未登录。> setbit key 10 1(integer) 1> getbit key 10(integer) 1> getbit key 11(integer) 0统计bitcount key [start stop]原创 2020-09-01 13:47:38 · 279 阅读 · 0 评论 -
redis 学习11 ---hyperLogLog
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回原创 2020-09-01 13:34:28 · 185 阅读 · 0 评论 -
redis 学习10 ---geospatial(地理空间)
朋友的定位,附近的人,打车距离计算等都可以利用geospatial。文档地址:http://redis.cn/commands/georadiusbymember.htmlgeoadd key 经度 纬度 地理名 #可以批量添加例如:GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"geopos key 地理名称1 [地理名称2] #获取一个或多个城市的经纬度例如:redis> GEO原创 2020-09-01 00:55:43 · 203 阅读 · 0 评论 -
redis 学习9 ---zset
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。zadd key score1 member1 score2 member2 #向有序集合添加一个或多个成员,或者更新已存在成员的分数zcard key #返回有序集合成员个数zcount key min max #返回有序集合中指定区间分数原创 2020-09-01 00:12:53 · 197 阅读 · 0 评论 -
redis 学习8 ---hash
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。hset key field value #将哈希表key中的field字段赋值valuehmset key field1 value1 field2 value2 #批量赋值hdel key field1 [field2] #删除哈希表key中的一个或多个字段hexists key field #查询哈希表key是否有这个字段hgetall key原创 2020-08-31 21:23:40 · 139 阅读 · 0 评论 -
redis 学习7 ---set
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。sadd key value [value2] [value3] #向一个集合添加一个成员或者多个成员scard key #获取集合的成员数sdiff key1 key2 [key3] 返回第一个集合与其他集合之间的差异,也可以认为说第一个集合中独有的元素。不存在的集合 key 将视为空集。sdiffstore destination key1 key2 [key3] #返回第一原创 2020-08-31 14:26:22 · 108 阅读 · 0 评论 -
redis 学习6 ---list
List列表是一个双端链表结构:越前面的越在下面 栈 先进后出 。lpush一个值相当于压栈l pop删除一个值相当于出栈。lpush和rpop或者rpush和lphp可以做简单的队列,先进先出。原创 2020-08-31 13:29:18 · 123 阅读 · 0 评论 -
redis 学习5 ---string
set key value 设置指定key的值get key 获取key的值getrange key start end 接取key的一段字符串并且返回,下标从0开始getset 给指定key设置值,并且返回旧值mget key1 key2 批量获取key的值setex key seconds value 给key指定过期时间并且赋值PSETEX key milliseconds value 给key指定过期时间并且赋值,过期时间是以毫秒为单位setnx key value 只有在key不存.原创 2020-08-30 22:53:36 · 92 阅读 · 0 评论 -
redis 学习4 ---Redis键命令用来管理redis的key
key * #查询所有的键exists key #查询该键是否存在expire key seconds 给指定key设置过期时间使用场景1, 验证码2, 限时优惠活动3, 限制访客访问次数4, 网站数据缓存(定期刷新数据)ttl key 查询key还有多长时间过期,过期则返回-2del key 删除指定keyrename key newkey 修改key的名称type key 返回key存储值的数据类型...原创 2020-08-30 22:38:16 · 89 阅读 · 0 评论 -
redis 学习3 ---redis-benchmark使用
redis-benchmark可以用来测试性能50个并发10000个请求,压测命令:redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000压测需要一段时间,因为它需要依次压测多个命令的结果,如:get、set、incr、lpush等等,所以我们需要耐心等待,如果只需要压测某个命令,如:get,那么可以在以上的命令后加一个参数-t(红色部分):1、redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -..原创 2020-08-30 16:06:55 · 170 阅读 · 0 评论 -
redis 学习2 ---redis安装
Windows安装直接下载解压即可Linux(centos)安装安装依赖安装:yum -y install gcc automake autoconf libtool make安装g++:yum install gcc gcc-c++yum install tcl下载安装包wget http://download.redis.io/releases/redis-5.0.9.tar.gz解压tar -zxvf redis-5.0.9.tar.gzcd redi原创 2020-08-30 00:48:09 · 103 阅读 · 0 评论 -
redis 学习1 ---redis介绍
NOSql = not only sql 非关系型数据库nosql特点:1,方便扩展2,大数据量高性能3,数据类型是多样型的!不需要事先设计数据库redis是什么:REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。远程服务字典。redis特点:1,内存数据库,支持持久化(RDB,AOF)2,不仅仅只支持key-value类型数据,同时还提供list,set,zset,hash等数据结原创 2020-08-29 17:41:42 · 93 阅读 · 0 评论 -
php redis操作大全
**php.ini文件添加:extension=php_redis.dll 重启php, phpinfo可以看到redis则证明安装成功**php操作redis大全,基本上php操作redis常用的函数都在下面了转载https://blog.csdn.net/qq_27517377/article/details/85693281setex 带生存时间的写入值$redis->setex('key', 3600, 'value');setnx 判断是否重复的,写入值,如存在了不修改返.原创 2020-06-09 09:42:29 · 313 阅读 · 0 评论 -
centos7 php安装redis以及redis扩展
安装RedisRedis官方下载地址:http://redis.io/download,下载最新稳定版本。当前稳定版本是4.0.9,下载并安装:安装之前请安装软件的时候,提示make: command not foundCentos中无法使用make,make install,命令 make: command not foundmake是gcc的编译器,VPS买来必定要安装...原创 2019-05-08 11:47:41 · 691 阅读 · 0 评论