![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 50
angen2018
积少成多
展开
-
java和redis jedis包
jedis的连接池叫JedisPool,在创建连接池后我们可以从连接池中获取连接,客户端连接Redis使用的是TCP协议,直连的方式每次需要建立TCP连接,而连接池的方式是可以预先初始化好Jedis连接,所以每次只需要从Jedis连接池借用即可,而借用和归还操作是在本地进行的,只有少量的并发同步开销,远远小于新建TCP连接的开销。如果把配置放在代码里的话耦合度会比较高,所以一般我们把配置放在配置文件中,这样要使用的时候加载配置即可。ZSet有序集合类型。......原创 2022-07-17 23:41:20 · 492 阅读 · 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 · 203 阅读 · 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 · 138 阅读 · 0 评论 -
redis 学习19 ---哨兵模式
设置哨兵配置文件sentinel.conf #sentinel monitor 被监控的名称 host port 1 sentinel monitor myredis 127.0.0.1 6380 1 后面这个数值1,代表主机挂了,slave投票看谁成为新的主机 启动哨兵服务 redis-sentinel sentinel.conf 哨兵模式优点: 1,哨兵集群,基于主从复制模式,所有主从配置优点它都有 2,主从可以切换,故障可以转移,系统的可用性就会更好 3,哨兵模式就是主从复制的升级版原创 2020-09-02 12:23:09 · 104 阅读 · 0 评论 -
redis 学习18 ---主从复制
主从复制,读写分离!减缓服务器压力!最少1主2丛。 主从复制主要作用: 1,数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式 2,故障恢复:当主节点故障时,可由从节点提供服务,实现快速的故障恢复。实际上是一种服务的冗余 3,负载均衡 4,高可用基石:主从复制是哨兵模式和集群能够实施的基础。因此说主从复制是redis高可用的基础。 info replication #查看当前服务的信息 实际操作: 先cp三个配置文件 [root@localhost bin]# cp re原创 2020-09-01 18:33:29 · 109 阅读 · 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 · 87 阅读 · 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 dir 1) "dir" 2) "/usr/local/bin" #如果在..原创 2020-09-01 16:23:10 · 95 阅读 · 0 评论 -
redis 学习15 ---redis.conf详解
1,配置单位,对大小写不敏感 2,包含,可以引入其它的配置文件 3,网络 bind 127.0.0.1 #绑定的ip,如果想要远程访问就改为bind 0.0.0.0 protected-mode yes #保护模式 port 6379 #端口设置 4,通用配置GENERAL daemonize yes #以守护进程方式运行,默认是no,我们需要修改成yes pidfile /var/run/redis_6379.pid #如果需要用守护进程方式运行,就必须知道一个pid进程文原创 2020-09-01 15:41:10 · 110 阅读 · 0 评论 -
redis 学习14 ---乐观锁
监控(watch) 悲观锁:很悲观,认为什么时候都会出现问题,无论做什么都会加锁! 乐观锁:很乐观,认为什么时候都不会出现问题,所以不会上锁!更新数据的时候回去判断一下,在此期间是否有人修改过这个数据。 获取version,然后更新的时候比较version。 redis的监视测试 正常执行的情况 127.0.0.1:6379> set money 100 OK 127.0.0.1:6379> set outmoney 0 OK 127.0.0.1:6379> mulit .原创 2020-09-01 15:05:38 · 73 阅读 · 0 评论 -
redis 学习13 ---事务
redis单条命令是保证原子性的,而redis事务不保证原子性 redis事务的本质:一组命令的集合!一个事务中的所有命令是会被序列化,在事务执行过程中,命令会按照顺序执行! 一次性!顺序性!排他性!并没有隔离级别的概念! redis事务 1,开启事务:multi 2,命令入队:其他命令 3,执行事务:exec 放弃事务:discard 编译时异常:命令有错误,事务中的所有命令都不会执行! 运行时异常: set k1 "v1" multi incr k1 set k2 "k2" exec原创 2020-09-01 14:08:19 · 75 阅读 · 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 · 262 阅读 · 0 评论 -
redis 学习11 ---hyperLogLog
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。 但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回原创 2020-09-01 13:34:28 · 176 阅读 · 0 评论 -
redis 学习10 ---geospatial(地理空间)
朋友的定位,附近的人,打车距离计算等都可以利用geospatial。 文档地址:http://redis.cn/commands/georadiusbymember.html geoadd 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 · 185 阅读 · 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 · 172 阅读 · 0 评论 -
redis 学习8 ---hash
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。 hset key field value #将哈希表key中的field字段赋值value hmset key field1 value1 field2 value2 #批量赋值 hdel key field1 [field2] #删除哈希表key中的一个或多个字段 hexists key field #查询哈希表key是否有这个字段 hgetall key原创 2020-08-31 21:23:40 · 119 阅读 · 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 · 92 阅读 · 0 评论 -
redis 学习6 ---list
List列表是一个双端链表结构:越前面的越在下面 栈 先进后出 。lpush一个值相当于压栈l pop删除一个值相当于出栈。lpush和rpop或者rpush和lphp可以做简单的队列,先进先出。原创 2020-08-31 13:29:18 · 108 阅读 · 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 · 72 阅读 · 0 评论 -
redis 学习4 ---Redis键命令用来管理redis的key
key * #查询所有的键 exists key #查询该键是否存在 expire key seconds 给指定key设置过期时间 使用场景 1, 验证码 2, 限时优惠活动 3, 限制访客访问次数 4, 网站数据缓存(定期刷新数据) ttl key 查询key还有多长时间过期,过期则返回-2 del key 删除指定key rename key newkey 修改key的名称 type key 返回key存储值的数据类型 ...原创 2020-08-30 22:38:16 · 76 阅读 · 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 · 145 阅读 · 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.gz cd redi原创 2020-08-30 00:48:09 · 87 阅读 · 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 · 80 阅读 · 0 评论 -
php redis操作大全
**php.ini文件添加:extension=php_redis.dll 重启php, phpinfo可以看到redis则证明安装成功** php操作redis大全,基本上php操作redis常用的函数都在下面了 转载https://blog.csdn.net/qq_27517377/article/details/85693281 setex 带生存时间的写入值 $redis->setex('key', 3600, 'value'); setnx 判断是否重复的,写入值,如存在了不修改返.原创 2020-06-09 09:42:29 · 280 阅读 · 0 评论 -
centos7 php安装redis以及redis扩展
安装Redis Redis官方下载地址:http://redis.io/download,下载最新稳定版本。 当前稳定版本是4.0.9,下载并安装: 安装之前请 安装软件的时候,提示make: command not found Centos中无法使用make,make install,命令 make: command not found make是gcc的编译器,VPS买来必定要安装 ...原创 2019-05-08 11:47:41 · 674 阅读 · 0 评论