- 《Android进阶之光》读书笔记
soleil雪寂
读书笔记#Android进阶之光
文章目录第1章Android新特性1.1.Android5.0新特性1.2.RecyclerView1.1.4.3种Notification1.1.5.Toolbar与Palette1.1.6.Palette1.2.Android6.0新特性1.2.2.运行时权限机制1.3.Android7.0新特性第2章MaterialDesign2.2.DesignSupportLibrary常用控件详解第3
- Android 权限机制详解
路宇
Android基础笔记androidpermisson普通权限
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,点击跳转到网站Android系统6.0之后,加入了运行时权限,不仅要在AndroidManifest.xml清单文件中加入权限。同时也要在java代码中动态申请权限。当然并不是所有的权限都要动态申请。只有一些危险权限。才需要我们去动态申请。比如我们访问Android手机的SD卡就要申请动态权限。首先在清单文件中
- Android---PermissionX实现动态权限申请
别偷我的猪_09
#Android第三方库android
Google在Android6.0开始引入了权限申请机制,将所有权限分成了正常权限和危险权限。App每次在使用危险权限时需要动态的申请并得到用户的授权才能使用。PermissionX是一个扩展Android库,使Android运行时权限请求变得极其容易。你可以将它用于基本的许可请求场合或处理更复杂的情况,如显示理由对话框或手动进入应用程序设置以获得许可。官方网址:https://github.co
- Android笔记(六)(adb使用)
张豆豆94
【Android学习笔记】androidjava1024程序员节
1.添加环境变量此电脑(右击)→属性→高级系统设置→高级→环境变量→系统变量→Path(双击)→新建添加adb.exe路径2.adb常用指令adbdevices当前连接了几个设备以及每个连接的状态shell[]连接模拟器/设施执行Shell命令,执行完毕后退出远程Shell端ladbshellpmlistpackages列出手机装的所有app的包名查看内存查看磁盘内存和运行内存:adbshellf
- 19年开发搜集的资料与遇到的问题简单整理 4-6月
qq_40663451
Android笔记4-6月参考网站https://p.codekk.com/(开源代码、项目)https://blog.csdn.net/qq_42618969/article/details/81941242#开源框架框架帖子网址:https://blog.csdn.net/qq_35427437/article/details/80169160安卓十大开发框架1、AndBase框架项目地址:h
- Android PMS——ADB命令安装流程(七)
c小旭
AndroidPMSandroid
前面的文章我们介绍了系统应用解析流程和通过PackageInstaller.apk安装应用程序的相关流程,这一篇我们来分析使用ADB命令来实现APK安装流程。一、ADB安装命令ADB命令使用adbinstall[选项][APK绝对路径]常见选项如下:-r:覆盖安装,保存原有数据;-t:允许安装测试安装包;-d:允许安装比当前版本低的安装包;-g:安装并授予所有运行时权限;-l:锁定该应用程序;-s
- 零基础学鸿蒙编程-运行时权限
蓝不蓝编程
什么是运行时权限为了更好的保护用户隐私及安全,鸿蒙引入运行时动态权限检查机制.应用需要访问一些涉及用户隐私及安全权限时,应用需要调用系统权限检查接口,查看是否已获得权限,如果没有,则由系统弹出权限申请窗口,由用户决定是否允许使用相应权限.基础样例下面例子中将申请读取存储权限并显示相册.1.声明权限在config.json中增加如下声明:"reqPermissions":[{"name":"ohos
- Android笔记(六):JetPack Compose常见的UI组件
灯前目力虽非昔,犹课蝇头二万言。
android笔记uiandroidcompose
一、文本组件1.1TextColumn(modifier=Modifier.fillMaxSize().background(Color.Green).padding(10.dp)){Text(text=stringResource(id=R.string.title_content),modifier=Modifier.fillMaxWidth().border(BorderStroke(1.d
- 8-跨程序共享数据-ContentProvider
白生也
androidkotlin开发语言
跨程序共享数据-ContentProvider如果程序与程序之间的数据不能共享的话,你就不能从抖音里看到你的联系人发了什么视频了,所以我们会采用安全可靠的ContentPricider技术ContentPricider主要用于程序与程序之间的数据共享提供了一套完整的机制,允许一个程序访问另一个程序中的数据同时保证了被访问数据的安全性是Android实现跨程序共享数据的标准方式运行时权限访问数据不可
- Android主流框架汇总
是阿超
Android框架android框架
Android主流框架汇总Android百大框架Android常用开发框架AndroidMVP快速开发框架Android开源框架【集合】AndroidFire新闻阅读App框架RxPermissions——Android申请运行时权限RxPermissions——Android动态权限申请库SuperTextView——绘制控件UIXPopup——Android弹窗动画库XPopupExt——时间
- Android笔记 编译kotlin文件
blossom_6694
一、下载编译包https://github.com/JetBrains/kotlin/releases/tag/v1.2.40TIM截图20180425120751.png然后解压。二、配置环境变量TIM截图20180425120911.png运行kotlinc-version成功,表示配置好了。三、编译TIM截图20180425121004.png
- Android笔记:OpenGL ES与EGL的关系与实例
MichaelX_Blog
AndroidOpenGLES笔记openglesegl视频处理
简介OpenGL是跨平台的、专业的图形编程接口,而接口的实现是由厂商来完成的。OpenGL使用这些接口绘制完成后,需要把数据渲染到屏幕上,就需要EGL来接手这部分工作。EGL:全称EmbeddedGraphicLibrary。是OpenGLES和底层Native平台视窗系统之间的接口,如下图所示。EGL介绍EGL接口中含有3个对象,如下图所示:其中:Display(EGLDisplay)是对实际显
- Android 查看运行时权限 查看需要申请的权限组 6.0 权限适配
Asbefore如初_3142
使用adb工具从命令行管理权限:按组列出权限$adbshellpmlistpermissions-d-g
- Android高版本使用照相机报错 Camera error
weixin_30572613
移动开发
Android高版本使用照相机报错Cameraerror谷歌在安卓6.0以后增加了运行时权限功能,即在程序运行时需要用户手动授权,才可以正常运行。当使用相机时,除了需要在AndroidManifest文件中添加相应的权限在代码需要调用相机部分做如下修改://运行时权限if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.pe
- Android程序第一步,申请权限
雁度寒崖
由于在Android6.0之后Google推出了运行时权限,所以作为一个拥有良好品德的软件开发者,我们需要明白哪些向用户申请的权限是必须的,哪些是某个功能才需要的权限,而不是一次性将所有权限都向用户索要,否则就不让用户使用。例如qq:刚打开qq:image如果拒绝image此时如果点击取消,会直接退出应用!再次打开还会提示权限问题。所以我们去应用权限里面打开它。打开后,还有一项授权,就是电话权限,
- PackageManagerService权限分析
Railshiqian
androidandroid
1.文档简介1.1.文档目的了解PKMS/App中,权限相关知识;精通安卓系统权限相关设计思路,能够进行权限方面功能定制,调查和解决权限相关问题。1.2.文档内容本文主要介绍权限相关内容,主要包含以下几部分:权限创建流程权限分类非运行时权限授权流程运行时权限授权流程重置运行时权限流程常用的权限调查命令1.3.权限相关功能的学习计划调查framework-re.apk安装过程中,创建权
- Android 某个应用缺少特殊权限导致系统一直重启解决
峥嵘life
androidAndroid系统androidgitee安全
Android某个应用缺少特殊权限导致系统一直重启解决文章目录Android某个应用缺少特殊权限导致系统一直重启解决一、前言二、错误日志三、分析解决四、其他1、对privapp-permissions称呼的误解2、系统特殊权限有哪些2、系统其他权限介绍(1)普通权限(normal)(2)运行时权限(dangerous)(3)签名权限(signature)(4)特殊权限(privileged)3、系
- 【Android笔记】 RecyclerView
小康
布局子布局bar_bundle_item.xmlpackagecom.example.meng.mes;publicclassBarJudgeActivityextendsAppCompatActivity{//捆号信息listprivateListbundleCodeInfoModelList=newArrayList{privateListmBundleCodeInfoModel;static
- Android 权限管理
Gavin_2020
关于运行时权限在旧的权限管理系统中,权限仅仅在App安装时询问用户一次,用户同意了这些权限App才能被安装(某些深度定制系统另说),App一旦安装后就可以偷偷的做一些不为人知的事情了。在Android6.0开始,App可以直接安装,App在运行时一个一个询问用户授予权限,系统会弹出一个对话框让用户选择是否授权某个权限给App(这个Dialog不能由开发者定制),当App需要用户授予不恰当的权限的时
- Android 6.0 运行时权限处理解析
如愿以偿丶
1.概述 大家有没有遇到过这种情况,开发app的时候发现自己手机选择照片是正常的,测试的时候他那边的一台手机怎么搞都不行,然后查看版本之后才发现是6.0的手机。 在Google发出Android6.0版本以后,对权限这边做了很大的变动,其中之一就是权限处理。那么在6.0及以上版本我们的危险权限都需要在运行的时候去申请,之前都是在清单文件中配置即可,现在就不行了需要用代码动态申请。不然程序在执行
- Android笔记(十九):JetPack DataStore 之 Preferences DataStore
灯前目力虽非昔,犹课蝇头二万言。
android笔记
JetpackDataStore是一种数据存储解决方案,主要适用于小型数据的处理。它可以通过协议缓冲区存储键值对或类型化对象。DataStore使用Kotlin协程和Flow以异步、一致的事务方式存储数据。DataStore有两种实现方式(1)PreferencesDataStore和(2)ProtoDataStore.PreferencesDataStore利用键值对实现对简单数据的读写存储。这
- Android笔记(二十三):Paging3分页加载库结合Compose的实现分层数据源访问
灯前目力虽非昔,犹课蝇头二万言。
android笔记jvm
在Android笔记(二十二):Paging3分页加载库结合Compose的实现网络单一数据源访问一文中,实现了单一数据源的访问。在实际运行中,往往希望不是单纯地访问网络数据,更希望将访问的网络数据保存到移动终端的SQLite数据库中,使得移动应用在离线的状态下也可以从数据库中获取数据进行访问。在本笔记中,将讨论多层次数据的访问,即结合网络资源+本地SQLite数据库中的数据的处理。在本笔记中,仍
- Android笔记(二十二):Paging3分页加载库结合Compose的实现网络单一数据源访问
灯前目力虽非昔,犹课蝇头二万言。
android笔记网络
Paging3组件是谷歌公司推出的分页加载库。个人认为Paging3库是非常强大,但是学习难点比较大的一个库。Paging3组件可用于加载和显示来自本地存储或网络中更大的数据集中的数据页面。此方法可让移动应用更高效地利用网络带宽和系统资源。在具体实现上,Paging3与前面的版本完全不同。一、依赖库的配置valpaging_version="3.2.0"implementation("androi
- Android笔记(二十一):Room组件实现Android应用的持久化处理
灯前目力虽非昔,犹课蝇头二万言。
android数据库androidJetPackRoom组件
一、Room组件概述Room是AndroidJetPack架构组件之一,是一个持久处理的库。Room提供了在SQLite数据库上提供抽象层,使之实现数据访问。(1)实体类(Entity):映射并封装了数据库对应的数据表中对应的结构化数据。实体定义了数据库中的数据表。实体类中的数据域与表的列一一对应。(2)数据访问对象(DataAccessObject,DAO):在DAO中定义了访问数据库的常见的操
- Android 10 默认授权app运行时权限(去掉运行时权限授权弹窗)
路过独木桥!!
Android系统开发androidjava
问题现象该窗口对应的包名如下C:\Users\Android1>adbshelldumpsyswindow|findstrmCurrentFocusmCurrentFocus=Window{35a20c5u0com.android.permissioncontroller/com.android.packageinstaller.permission.ui.ReviewPermissionsAct
- Android版本适配(二)
YX_亚亚呀
不同版本的变化Android6.0发布时间:2015年5月28日主要变化:运行时权限增加低电耗模式和应用待机模式取消支持ApacheHTTP客户端移除硬件标识符访问权WLAN和网络连接变更相机服务变更Android7.0发布时间:2016年8月22日主要变化:私有文件访问权限更改多窗口支持(分屏显示)通知增强功能随时随地低电耗模式多语言区域支持,更多语言新增的表情符号Chrome和WebView配
- Android笔记——new Handler().postDelayed() 让intent延迟跳转
麦香菌
longdelayMillis=2000;//延迟时间参数//延迟2s跳转newHandler().postDelayed(newRunnable(){@Overridepublicvoidrun(){Intentintent=newIntent(MainActivity.this,Activity.class);startActivity(intent);}},delayMillis);来源:《
- Android笔记:SwipeRefreshLayout 自动刷新
程思扬
Android记录android笔记python经验分享android-studio
/***TheSwipeRefreshLayoutshouldbeusedwhenevertheusercanrefreshthe*contentsofaviewviaaverticalswipegesture.Theactivitythat*instantiatesthisviewshouldaddanOnRefreshListenertobenotified*whenevertheswipet
- 【CTA认证】Android8实现android6以下的应用运行时也要申请权限
帅得不敢出门
安卓CTA入网认证androidcta认证
需求CTA入网认证,要求低版本比如Android6以下的应用,运行时,也需要有运行时权限(RuntimePermission)功能,不能默认就取到权限,必须人工在设置中打开才可。环境Android8实现frameworks修改思路是所有APP都统一处理,支持运行时权限,把所有版本相关的判断去掉,检测是否支持运行时权限的判断去掉。diff--gita/base/services/core/java/
- Android 中的权限
Android西红柿
Android基础androidgitee
关于作者:CSDN内容合伙人、技术专家,从零开始做日活千万级APP。专注于分享各领域原创系列文章,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。目录一、导读二、概览三、权限分类3.1安装时权限3.2运行时权限3.3特殊权限四、声明应用权限4.1将硬件声明为可选4.2确定硬件可用性4.3按API级别声明权限五、请求应用权限5.1请求运行时权限5.2请求特殊权限六、自定义权限七、
- Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
- maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
- XSD和XML中的命名空间
darrenzhu
xmlxsdschemanamespace命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
- Java 求素数运算
周凡杨
java算法素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
- java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
- Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
- 32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
- 我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
- mongodb 环境搭建及简单CURD
antlove
WebInstallcurdNoSQLmongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
- 数据字典和动态视图
百合不是茶
oracle数据字典动态视图系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
- 多线程编程一般规则
bijian1013
javathread多线程java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
- 将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linuxunixscp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
- 【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
- cookie状态判断引发的查找问题
bitcarter
formcgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
- java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
- 看别人的博客,觉得心情很好
Cb123456
博客心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
- [JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
- JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
- 正则表达式验证日期格式
dashuaifu
正则表达式IT其它java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
- Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
- UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
- 判断一个数是质数的几种方法
EmmaZhao
Mathpython
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
- SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
- JS实现自适应宽度的Tag切换
ini
JavaScripthtmlWebcsshtml5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
- Hbase Rest API : 数据查询
kane_xie
RESThbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
- JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jqueryjs源码拖动鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
- Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
- 将redis,memcache结合使用的方案?
tcrct
rediscache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
- 开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key