redis (二)

redis二主二从 安装redis 准备两台虚拟机: 192.168.1.12(1主) 192.168.1.11 (2主) 安装时需要提前安装的环境: yum -y install vim tcl gcc/gcc-c++ 网上找到redis包上传到虚拟机中并解压: tar zxvf redis-4.0.14.tar.gz cd redis-4.0.014/src make PREFIX=/data/server/re... 阅读详情
数据类型—>使用—>返回值—>场景—>mysql =>nosql

返回:
个数|是否修改|存在性|类型|秒数 -1(已过期) -2(不存在)
空字符串|旧值|头尾元素或中间元素|返回随机值

场景:
--rpoplpush source dest
作用: 把source的尾部拿出,放在dest的头部,
并返回 该单元值
 
场景: task + bak 双链表完成安全队列
Task列表                             bak列表
   
 
   

 
业务逻辑:
1:Rpoplpush task bak
2:接收返回值,并做业务处理
3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务


--brpop ,blpop  key timeout
作用:等待弹出key的尾/头元素,
Timeout为等待超时时间
如果timeout为0,则一直等待
 
场景: 长轮询Ajax,在线聊天时,能够用到

--Setbit 的实际应用
redis 127.0.0.1:6379> setbit mon 100000000 0
(integer) 0
redis 127.0.0.1:6379> setbit mon 3 1
(integer) 0
redis 127.0.0.1:6379> setbit mon 5 1
(integer) 0
redis 127.0.0.1:6379> setbit mon 7 1
(integer) 0
redis 127.0.0.1:6379> setbit thur 100000000 0
(integer) 0
redis 127.0.0.1:6379> setbit thur 3 1
(integer) 0
redis 127.0.0.1:6379> setbit thur 5 1
(integer) 0
redis 127.0.0.1:6379> setbit thur 8 1
(integer) 0
redis 127.0.0.1:6379> setbit wen 100000000 0
(integer) 0
redis 127.0.0.1:6379> setbit wen 3 1
(integer) 0
redis 127.0.0.1:6379> setbit wen 4 1
(integer) 0
redis 127.0.0.1:6379> setbit wen 6 1
(integer) 0
redis 127.0.0.1:6379> bitop and  res mon feb wen
(integer) 12500001




事务:
watch(乐观锁) multi exec discard (只是结束了本次事务,语句造成的影响还在,这是和mysql 的区别)
aof(慢一些,但冲写成语句后更精简,就是说把数据逆化成了命令) vs rdb(更快 更大)
                
运维案例:
1.如果不小心运行了 flushall, 立即 shutdown nosave , 关闭服务器
然后 手工编辑aof文件, 去掉文件中的 “flushall ”相关行, 然后开启服务器,就可以导入回原来数据.
如果,flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失.

2.Slowlog 显示慢查询
注 : 多慢才叫慢 ?
答 : 由slowlog-log-slower-than 10000 ,来指定,(单位是微秒)
服务器储存多少条慢查询的记录?
答: 由 slowlog-max-len 128 ,来做限制

3.运行时更改master-slave
修改一台slave(设为A)为new master
1) 命令该服务不做其他redis服务的slave
   命令: slaveof no one
2) 修改其readonly为yes
其他的slave再指向new master A
1) 命令该服务为new master A的slave
   命令格式 slaveof IP port

mysql:
书签系统
create table book (
bookid int,
title char(20)
)engine myisam charset utf8;
 
insert into book values
(5 , 'PHP圣经'),
(6 , 'ruby实战'),
(7 , 'mysql运维')
(8, 'ruby服务端编程');
 
 
create table tags (
tid int,
bookid int,
content char(20)
)engine myisam charset utf8;
 
insert into tags values
(10 , 5 , 'PHP'),
(11 , 5 , 'WEB'),
(12 , 6 , 'WEB'),
(13 , 6 , 'ruby'),
(14 , 7 , 'database'),
(15 , 8 , 'ruby'),
(16 , 8 , 'server');
 
# 既有web标签,又有PHP,同时还标签的书,要用连接查询
 
select * from tags inner join tags as t on tags.bookid=t.bookid
where tags.content='PHP' and t.content='WEB';
 
 

 
换成key-value存储
用kv 来存储
set book:5:title 'PHP圣经'
set book:6:title 'ruby实战'
set book:7:title 'mysql运难'
set book:8:title ‘ruby server’
 
sadd tag:PHP 5
sadd tag:WEB 5 6
sadd tag:database 7
sadd tag:ruby 6 8
sadd tag:SERVER 8
 
查: 既有PHP,又有WEB的书
Sinter tag:PHP tag:WEB  #查集合的交集
 
查: 有PHP或有WEB标签的书
Sunin tag:PHP tag:WEB
 
查:含有ruby,不含WEB标签的书
Sdiff tag:ruby tag:WEB #求差集
 
 
 
 

 
Redis key 设计技巧
 
1: 把表名转换为key前缀 如, tag:
2: 第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid
3: 第3段放置主键值,如2,3,4...., a , b ,c
4: 第4段,写要存储的列名
 
用户表 user  , 转换为key-value存储
useridusernamepasswordeemail
9Lisi1111111lisi@163.com
 
set  user:userid:9:username lisi
set  user:userid:9:password 111111
set  user:userid:9:email   lisi@163.com
 
keys user:userid:9*
 
 
2 注意 :
在关系型数据中,除主键外,还有可能其他列也步骤查询,
如上表中, username 也是极频繁查询的,往往这种列也是加了索引的.
 
转换到k-v数据中,则也要相应的生成一条按照该列为主的key-value
Set  user:username:lisi:uid  9 
 
这样,我们可以根据username:lisi:uid ,查出userid=9,
再查user:9:password/email ...
 
完成了根据用户名来查询用户信息
redis
插件的使用
// get instance
$redis = new Redis();
 
// connect to redis server
$redis->open('localhost',6380);
$redis->set('user:userid:9:username','wangwu');
var_dump($redis->get('user:userid:9:username'));
Redis一主二从三哨兵 本人博客 文章目录下载解压主从配置主redis配置从redis配置主从启动哨兵模式配置哨兵测试测试主从切换.NET Core中使用Redis集群 本文简单讲述主从建立和哨兵的配置。本机测试redis为Redis-x64-3.2.100Windows下载地址,使用二台服务器作为测试。 下载解压 下载完成后进行解压,然后复制两份作为从成员,构成一主二从。在主服务器上使用一份,从服务器上使用二份。 主从配置 主redis配置 编辑文件夹下redis.windows.conf文件,设置bind和port,因为要用 阅读详情

相关推荐

QNX Neutrino 进程间通信编程之Message-passing/Pulse

Interprocess Communication(IPC,进程间通信)在QNX Neutrino从一个嵌入式实时系统向一个全面的POSIX系统转变起着至关重要的作用。IPC是将在内核中提供各种服务的进程内聚在一起的粘合剂。在QNX中,消息传递是IPC的主要形式,也提供了其他的形式,除非有特殊的说明,否则这些形式也都是基于本地消息传递而实现的。本篇幅主要讲解Message-passing和Pulse。

zhuwade的博客 3533

Java操作Redis

import org.junit.After; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; i...

iteye_8827的博客 249

工业质检升级!C#上位机集成YOLOv8.3.138+Blob分析:尺寸测量+缺陷检测一步到位

工业场景的技术选型,从来不是“选最先进的”,而是“选最适配的”。这个项目的成功,不在于采用了多前沿的技术,而在于找对了“贴合场景的技术组合”和“落地导向的实施思路”。C#上位机的稳定性保障了系统长期运行,YOLOv8.3.138的精度解决了缺陷检测痛点,Blob分析的抗干扰能力确保了尺寸测量准确,三者结合实现了“1+1+1>3”的效果。先摸透场景,再选技术:不要盲目追求最新模型,先深入了解车间环境、生产节奏、精度要求,选择兼容性强、稳定性高的技术方案;数据质量决定模型性能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 608

java简单的连接redies

import org.junit.Test; import redis.clients.jedis.Jedis; public class testdb {     @Test     public void RedisTest(){         String key = "rds:task-test";         String val = "{'succeedD

ruiguang21的博客 589

基于STM32的蓝牙智能药盒设计

本研究设计了一种基于STM32F103C8T6单片机的蓝牙智能药盒系统,针对老年人用药管理需求,集成了定时提醒、药量检测、环境监测等功能。系统通过LCD1602显示屏实时显示时间与用药信息,支持每日3次定时提醒及3种药物用量设置,采用DHT11温湿度传感器、HX711药量检测模块和红外传感器实现环境监控,并通过蓝牙模块实现远程用药提醒。测试结果表明,系统定时误差≤30秒,温湿度监测精度±2℃,药量检测误差<1g,各项功能运行稳定。该设计为解决老年人用药依从性问题提供了智能化解决方案,具有实用价值和应用前景。

3254968421的博客 542

YOLOv8改进,YOLOv8主干网络替换为ShuffleNetV2

ShuffleNet V2的设计原则:1.减少内存访问成本:通过优化数据传输路径,减少内存访问延迟,提高整体运算速度。2.考虑平台特性:针对不同硬件平台的特性进行优化设计,确保在目标平台上的高效运行。3.结构简洁高效:采用简洁而高效的模块设计,降低计算复杂度,同时保持或提升模型的预测准确性。下图,以四种不同计算复杂度水平下的准确性(在ImageNet验证集上的分类),速度和FLOPs的测量结果。(a, c) 为GPU结果,批量大小为8。(b, d) 为ARM结果,批量大小为1。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1564

Redis一主二从搭建

Redis一主二从环境搭建

京茶吉鹿的博客 802

【RH850/U2A】:功能安全

功能安全相关

3130

Redis(二主二从)搭建(配置安装)

一、什么是Redis? Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis是一个key-value存储系统。redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周...

xxx0028的博客 2119

【ITS模型】基于MATLAB的ITS宽带短波信道模型的建模和仿真

1.软件版本 MATLAB2010b 2.本算法理论知识 对短波信道建模具有里程碑意义的是沃特森在1970年发表的一篇文章,文章中提出了一种静态模型,并在大气中进行了实验验证。 此静态模型可以描述为高斯散射增益抽头延迟线模型,即Watterson模型。 Watterson信道模型是经典的窄带短波信道模型,在这个模型中,信道衰落是瑞利幅度分布,而在每种传播模式中多普勒扩展的功率谱满足高斯分布。Watterson模型没有定义延时扩展的形状,认为各个多径传输模式中不存在延时扩展。其...

FPGA/MATLAB学习教程/源码/项目合作开发 2757

Objective-C实现人工势场法(附完整源码)

Objective-C实现人工势场法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 426

Redis一主二从Sentinel监控配置(保姆级教程)

配置项 | 作用 || — | — |

2401_87252283的博客 1008

深度探索:VS2022 牵手 DeepSeek,开启开发新征程

通过将 VS2022 与 DeepSeek 接入,我们成功开启了智能开发的新征程。从前期的硬件准备、软件环境搭建,到实战环节的一步步配置与整合,再到全面的测试与验证,每一个步骤都充满挑战,但也带来了满满的收获。在实际应用中,VS2022 与 DeepSeek 的结合展现出了强大的优势,为开发者带来了更高的效率和更出色的代码质量。无论是代码自动补全、智能代码审查,还是自然语言交互编程,都让开发过程变得更加智能、便捷,极大地提升了开发体验。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3522

redis哨兵安装-一主二从

linux配置一主二从哨兵模式

attacker_p的博客 448

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Docker安装Redis(redis5.0)(一主二从三哨兵)

vim 文件名(i键编写 Esc退出编写 :wq!FinalShell双击(添加文件内容后需要Ctrl+S保存)b.第二个文件 sentinel2.conf。注:如果是本地虚拟机安装那么就不需要执行。(FinalShell是可以。进入文件的,如果没有可以使用。

此人很懒,什么都没有写~~ 1294

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

redis一主二从-哨兵模式的搭建

第一部分:安装redis 1、获取redis压缩包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 解压文件,因为没有-C指定文件夹,在那个文件夹下tar就在那个文件下 tar -zxvf redis-4.0.6.tar.gz 2、编译安装 yum install gcc #安装编译环境 cd redis-4.0.6/src #进入解压的src文件夹中 make && make install #编译安装 第二部分:搭

qq_43661408的博客 355

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

redis一主二从,哨兵

【代码】redis一主二从,哨兵。

weixin_43813394的博客 525

Windows部署Redis哨兵一主二从三哨兵

Windows部署Redis哨兵

qq_37714654的博客 2121

redis(二)

1、redis和Memcached的区别 简单的一点就是,redis可以实现对内存的数据执行持久化操作,将数据存储至磁盘。而Memcached主要在缓存中存储数据,并不具有持久化特性。 2、redis的常见的五种数据类型 String List Set(无序的集合) Hash Zset(有序的集合) 具体的增删查改命令可以查看官方文档 3、Jedis Jedis相当于redis-cli,属于redis客户端一种吧,开启redis-server后可以通过Jedis进行连接。 4、事务

aviva1的博客 153

Redis 单机一主二从主从复制完整搭建指南

本文基于Redis 5.0+版本,手把手教大家在同一台服务器上搭建一主二从架构(主节点:6379,从节点:6380、6381)。全程包含配置文件拷贝、分步配置、启动、状态校验、数据同步测试,同时结合实操中遇到的典型问题做避坑讲解,适合新手学习参考。replicaof 配置错误(指向自身端口),从节点无法同步数据,读取键返回空(固定指向主节点端口)多实例文件未隔离问题:所有实例共用同一个pidfiledirdbfilename现象:实例启动失败、数据文件互相覆盖。

2301_80137277的博客 281

redis 一主二从三哨兵

redis 集群 一主二从三哨兵

pibeidemayi的博客 536

redis 一主二从三哨兵的搭建

环境准备 三台独立的linux主机 内网IP分别为:172.31.175.142、172.31.175.143、172.31.175.144 分别创建带主目录的普通用户,比如useradd wx -m 安装redis 分别在各个主机上安装redis,以172.31.175.142为例,步骤如下 #下载4.0稳定版 wget http://download.redis.io/rel...

聆听。。花开雨落的博客 456

Redis哨兵模式(一主二从三哨兵)

目录环境:安装redis:使用Redis主从复制的作用:配置redis一主二从:redis启动前的准备工作:配置redis三哨兵: 环境: 环境:redis6.2.6 linux虚拟机一台,contos7的 一主两从三哨兵集群,当master节点宕机时,通过哨兵(sentinel)重新推选出新的master节点,保证集群的可用性。 哨兵的主要功能: 1.集群监控:负责监控 Redis master 和 slave 进程是否正常工作。 2.消息通知:如果某个 Redis 实例有故障,那么哨兵负责发送消息

weixin_38568503的博客 2万+
上一篇: mysql 索引(二)
下一篇: redis (三)
telnet166
博客等级 码龄14年 14粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值