草庐IT

channels_redis

全部标签

android - 无法从包裹崩溃报告中读取输入 channel 文件描述符

我不断从我的Android应用程序收到此崩溃报告:java.lang.RuntimeException:Couldnotreadinputchannelfiledescriptorsfromparcel.atandroid.view.InputChannel.nativeReadFromParcel(NativeMethod)atandroid.view.InputChannel.readFromParcel(InputChannel.java:148)atandroid.view.InputChannel$1.createFromParcel(InputChannel.java:39

Nginx Openresty通过Lua+Redis 实现动态封禁IP

需求为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的IP黑名单。对于黑名单中的IP,我们将拒绝提供服务。并且可以设置封禁失效时间环境准备linuxversion:centos7/ubuntu等redisversion:5.0.5nginxversion:nginx-openresty设计方案实现IP黑名单的功能有很多途径:1、在操作系统层面,配置iptables,来拦截指定IP的网络请求。优点:简单直接,在服务器物理层面上进行拦截缺点:每次需要手动上服务器修改配置文件,操作繁琐且不灵活2、在Web服务器层面,通过Nginx自身的deny选项或者lua插件配置IP黑名单。优点:

redis面试题

出自黑马程序员 https://www.bilibili.com/video/BV1yT411H7YK?p=9&vd_source=5435760e0ac9ec39ec5c78b22a75c88f             CAP理论https://baijiahao.baidu.com/s?id=1687697302388087668&wfr=spider&for=pc      Redis脑裂可以采用min-slaves-to-write和min-slaves-max-lag合理配置尽量规避,但无法彻底解决,Redis脑裂最本质的问题是主从集群内部没有共识算法来维护多个节点的强一致性,它不像

golang channel执行原理与代码分析

使用的go版本为go1.21.2首先我们写一个简单的chan调度代码packagemainimport"fmt"funcmain(){ ch:=make(chanstruct{}) gofunc(){ ch因为ch的数据获取方式有两种,所以这个示例代码写了两次的ch读与写老样子通过gobuild-gcflags-Smain.go获取到对应的汇编代码调度make最终被转换为CALLruntime.makechan调度ch 调度我们还进行一次两个参数的调度接收ch读取data,ok:= 调度close(ch)最终被转换为CALLruntime.closechan先来看一下hchan构造体相关的底

nginx+lua+redis实现灰度发布

前言:授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言)一、灰度方案:常见的灰度实现方案:请求路由:通过请求中的标识(如用户ID、设备ID、请求头等)来决定是否将请求路由到灰度环境。可以使用反向代理(如Nginx、Envoy)或API网关(如Kong、Apigee)来实现路由规则。权重控制:将流量按照一定的权重比例分配到不同的环境中。可以通过负载均衡器(

【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)

在文章【Redis】不卡壳的Redis学习之路:从十大数据类型开始入手中我们介绍了Redis常用的10大数据类型,这10大数据类型可并不是直接在底层通过代码实现的,而是通过不同的底层数据结构组合起来的,这篇我们介绍下Redis常用数据类型的底层数据结构( ̄∇ ̄)/Redis数据类型的底层数据结构SDS动态字符串双向链表压缩列表ziplist哈希表hashtable跳表skiplist整数集合intset快速列表quicklist紧凑列表listpack在哪里看Redis源码网站地址github.com/redis/redisRedis根目录下src文件夹📁Redis是一个开源的使用ANSIC语

Redis的概念与常见命令

🌇个人主页:平凡的小苏📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风翻盘。🛸Redis:Redis>家人们更新不易,你们的👍点赞👍和⭐关注⭐真的对我真重要,各位路过的友友麻烦多多点赞关注。欢迎你们的私信提问,感谢你们的转发!关注我,关注我,关注我,你们将会看到更多的优质内容!!一、redis全局命令redis支持很多种数据结构整体上来说,redis是键值对结构,Key固定就是字符串,value实际上会有多种类型1、keys用来查询当前服务器上匹配到的key通过一些特殊符号(通配符)来描述key的模样,匹配上述

Redis7之介绍(一)

一介绍1.1基本了解​RemoteDictionaryServer(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、RedisSentinel和RedisCluster集群架构方案。1.2功能分布式缓存,挡在mysql数据库之前的一道屏障内存存储和持久化(RDB+AOF),redis支持异步将内存中的数据写到硬盘上,同时不影响继

Redis 数据结构详解

分类编程技术Redis数据类型分为:字符串类型、散列类型、列表类型、集合类型、有序集合类型。Redis这么火,它运行有多块?一台普通的笔记本电脑,可以在1秒钟内完成十万次的读写操作。原子操作:最小的操作单位,不能继续拆分。即最小的执行单位,不会被其他命令插入。高并发下不存在竞态条件。KEY的命名:一个良好的建议是article:1:title来存储ID为1的文章的标题。一、前言1、获取key的列表:KEYSpattern通配符有?*[]和转义\。2、key是否存在:EXISTSkey存在返回1,不存在返回0。3、建立key和删除key:SETkey和DELkey。4、根据key获取该键所存储的

android - Xamarin Android - 使用复杂参数(对象)发出 Rest 请求会引发异常,在 .NET 中它工作正常(使用 channel 工厂)

我开始为Android使用monodroid或Xamarin,因此,我的想法是重用我已经在.NET中使用的大部分代码。我需要我的android和ios应用程序做的一件事是调用使用wcfrest和json编码提供的Web服务。所以我的代码很简单:WebHttpBindingwebBinding=newWebHttpBinding();EndpointAddressendPointAddress=newEndpointAddress("http://192.168.126.24:8025/Services/SecurityManagement");ChannelFactorynewFact