![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 67
redis 学习
BorisCao
这个作者很懒,什么都没留下…
展开
-
redis 6.2.4单机安装及benchmark压测
安装命令tar -zxvf redis-6.2.4.tar.gzcd redis-6.2.4#生成bin目录make PREFIX=/opt/redis/redis-6.2.4 install#配置环境变量vi /etc/profileexport REDIS_BIN=/opt/redis/redis-6.2.4/binexport PATH=$PATH:$REDIS_BINsource /etc/profile启动redisredis-server /opt/redis-原创 2022-05-25 15:56:46 · 292 阅读 · 0 评论 -
Redis集群搭建
Redis-集群搭建1.安装redis1.1 下载redis1.2 安装redis(1)解压(2) 安装2.启动redis3. 集群分片4. redis-trib.rb 使用问题4.1 安装ruby4.2 创建集群时没有密码会报“can’t connect to node XXXX”5.redis集群添加新的节点5.1新增主节点5.2新增从节点1.安装redis1.1 下载redisredis-3.2.9.tar.gz1.2 安装redis(1)解压tar -zxvf redis-3.2.9.t原创 2020-09-27 16:57:40 · 89 阅读 · 0 评论 -
Redis序列化方式
GenericToStringSerializer: 可以将任何对象泛化为字符串并序列化Jackson2JsonRedisSerializer: 跟JacksonJsonRedisSerializer实际上是一样的JacksonJsonRedisSerializer: 序列化object对象为json字符串JdkSerializationRedisSerializer: 序列...原创 2020-04-03 12:27:50 · 163 阅读 · 0 评论 -
redis之Cluster
Cluster:无主模型,可以任意一个节点获取跳转到其他节点不同的分区实现方案分区可以在程序的不同层次实现。客户端分区就是在客户端就已经决定数据会被存储到哪个redis节点或者从哪个redis节点读取。大多数客户端已经实现了客户端分区。代理分区意味着客户端将请求发送给代理,然后代理决定去哪个节点写数据或者读数据。代理根据分区规则决定请求哪些Redis实例,然后根据Redis的响应...原创 2020-04-03 11:22:38 · 154 阅读 · 0 评论 -
Redis持久化之RDB和AOF
RDB: 在指定时间,将内存数据写入磁盘,替换之前的文件,以二进制的形式存储。1.RDB实现原理1.创建一个子进程写入数据,原理利用linux的fork(copy on write - 指针操作)2. 写入的数据是指定时间的数据save:阻塞bgsave:异步的优缺点:(1)优点: 恢复速度快(2)弊端: 永远只有一个dump.rdb文件; 丢失数据相对多一些AOF: 持久化...原创 2020-03-29 00:08:34 · 108 阅读 · 0 评论 -
Redis之主从和哨兵
单机的弊端(1)宕机(2)扩容(3)性能主从优点(1)解决宕机问题(2)读写离,提升性能(主写,从读)主从缺点(1)不能解决扩容问题搭建主从哨兵(1)启动主机redis-server /opt/test/6379.conf(2)启动从机redis-server /opt/test/6380.conf --replicaof 127.0.0.1 6379redis-ser...原创 2020-03-10 10:12:14 · 97 阅读 · 0 评论 -
Redis LRU/LFU
Redis当内存不足,使用的策略LRU : Least Recently Used 最久未使用LFU: Least Frequently Used 最少使用频率原创 2020-03-09 23:15:31 · 295 阅读 · 0 评论 -
Redis中击穿、穿透、雪崩
击穿: 当在高并发下,部分key过期失效(LRU,LFU),大量数据击穿redis直接到达DB解决方法:使用redis分布式锁,如果redis中没有找到这个key,就使用分布式锁控制redis分布式锁:setnx 如果不存在,则设置成功,获取锁.设置过期时间,防止死锁多线程监控,防止因为执行执行超过过期时间穿透:当大量无效数据穿透redis,直接访问DB,造成数据库压力解决方案:...原创 2020-03-09 22:59:26 · 70 阅读 · 0 评论 -
Redis五大基本类型之sorted_set操作
sorted_set 是 有序的、去重元素、分值、排名排序算法: skip list应用场景:歌曲排行榜 - zrange集合操作(ZUNIONSTORE 交、并叉 权重/聚合命令)常用操作(1)zdd 新增127.0.0.1:6379[6]> zadd k1 1 a 3 b 2 c(integer) 3(2) zrange 根据index按照分值从小到大返回值...原创 2020-03-06 15:45:23 · 139 阅读 · 0 评论 -
Redis五大基本类型之set操作
set基本特性: 无序,去重(1)sadd 新增sadd k1 a b c a d e(2)smembers 获取队列数据smembers k1(3)union 并集操作127.0.0.1:6379[6]> smembers k11) "c"2) "b"3) "a"4) "d"5) "e"127.0.0.1:6379[6]> sadd k2 1 3 2 3 ...原创 2020-03-04 17:36:05 · 127 阅读 · 0 评论 -
Redis五大类型之hash操作
hash类型value中为key、value(1)hset、hget127.0.0.1:6379[6]> hset tom name xx(integer) 1127.0.0.1:6379[6]> hset tom age 11(integer) 1127.0.0.1:6379[6]> hget tom age"11"(2)hkeys127.0.0.1:63...原创 2020-03-04 17:27:22 · 124 阅读 · 0 评论 -
Redis五大类型之List操作
List可以理解为链表1.栈操作2.队列操作3.数组操作一、栈操作(1)栈操作,先进后出127.0.0.1:6379[6]> lpush k1 a b c d(integer) 4127.0.0.1:6379[6]> LRANGE k1 0 -11) "d"2) "c"3) "b"4) "a"(2)同向操作(先进先出)127.0.0.1:6379[6]&g...原创 2020-03-04 17:14:50 · 108 阅读 · 0 评论 -
Redis五大类型之String操作(string、number、bit)
查看和连接redis命令行redis-cli --help查看所有string类型的操作help @stringstring类型分为三种1.string2.number3.bit一、string 类型(1)插入数据set k1 aa (2) 如果k1不存在,则插入数据set k1 aa nxsetnx k1 aa(3)获取数据get k1(4)追加数据...原创 2020-03-04 16:26:42 · 400 阅读 · 0 评论 -
Redis简介及单机安装
Redis是一个key,value的内存数据库,1秒的并发数约为10万.常识:1.硬盘(1)寻址 :毫秒(2)带宽: M/G2.内存(1)寻址: 纳秒(2)带宽:优于磁盘秒,毫秒,微秒,纳秒Redis采用NIO(多路复用)访问,是一个单线程数据库Redis的5大基本类型String,List,hash,set ,sorted_set ,是针对value...原创 2020-03-04 15:18:50 · 122 阅读 · 0 评论