四时宝库

程序员的知识宝库

阿里云的redis规范(阿里云redis外网访问)

一、键值设计

1. key名设计

(1)【建议】: 可读性和可管理性

以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id

(2)【建议】:简洁性

保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:

(3)【强制】:不要包含特殊字符

反例:包含空格、换行、单双引号以及其他转义字符

教程 | ExpressLRS一篇你就懂了(expresselrs)

手把手教你如何使用按键精灵的遍历数组


一、遍历数组

遍历数组顾名思义就是将整个数组的元素从头到尾“数”一遍。

那如何对数组进行遍历呢,从上一章中我们都知道了数组是从下标0开始的,数组大小是n+1。那么如何访问数组的元素?

其实在上一节中我们就已经访问过了数组里面的元素了,就是:数组名(下标)。上一节中我们已经给数组里面的元素进行赋值的操作了。a(0)=1其实就是给数组的第一个元素赋值。那如何才能遍历?

Redis中“scan”命令踩坑记(redis scan)

原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作。但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限。所以记录下这个踩坑的过程,背景如下:

公司因为redis服务器内存吃紧,需要删除一些无用的没有设置过期时间的key。大概有500多w的key。虽然key的数目听起来挺吓人。但是自己玩redis也有年头了,这种事还不是手到擒来?

当时想了下,具体方案是通过lua脚本来过滤出500w的key。然后进行删除动作。lua脚本在redis server上执行,执行速度快,执行一批只需要和redis server建立一次连接。筛选出来key,然后一次删1w。然后通过shell脚本循环个500次就能删完所有的。以前通过lua脚本做过类似批量更新的操作,3w一次也是秒级的。基本不会造成redis的阻塞。这样算起来,10分钟就能搞定500w的key。

用GDB调试 Redis网络通信模块(redis get config)

[实战] 调试 Redis 准备工作

时下的业界,相对于传统的关系型数据库,以 key-value 思想实现的 NoSQL 内存数据库非常流行,而提到内存数据库,很多读者第一反应就是 Redis 。确实,Redis 以其高效的性能和优雅的实现成为众多内存数据库中的翘楚。

1、Redis 源码下载与编译

Redis性能优化:使用Lua脚本编程,重写锁

Lua 脚本功能是 Reids 2.6 版本的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能高效实现的模式。本文将介绍如何使用Lua重写锁,和重写之前与重写之后的性能对比。

前期准备

本文使用的是Python Redis客户端,为了防止客户端并未为Redis2.6提供直接载入或者执行Lua脚本的功能,所以我们需要花费一点时间来创建一个脚本载入程序。

Lua 垃圾回收(垃圾回收怎么收费)

Lua 采用了自动内存管理。 这意味着你不用操心新创建的对象需要的内存如何分配出来, 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。

Lua 运行了一个垃圾收集器来收集所有死对象(即在 Lua 中不可能再访问到的对象)来完成自动内存管理的工作。 Lua 中所有用到的内存,如:字符串、表、用户数据、函数、线程、 内部结构等,都服从自动管理。

Lua 实现了一个增量标记-扫描收集器。 它使用这两个数字来控制垃圾收集循环: 垃圾收集器间歇率和垃圾收集器步进倍率。 这两个数字都使用百分数为单位 (例如:值 100 在内部表示 1 )。

按键精灵里的这些词你必须记住,不然你的代码会........


这些词汇一定要记住,按键精灵中的关键字

按键精灵的关键字与VBS语言的关键字接近,同时有所增加。下表列出了按键精灵中的关键字:

关键字意义关键字意义关键字意义Const常数Sub子程序Me我 Dim 定义变量Function函数Private私有As为Do开始循环Public公共Mod取模Loop循环Set赋值And并且Until到...为止Goto跳转Or或者While当EndScript结束脚本Not非Wend循环结束IfColor判断颜色If如果EndWhile循环结束UserVar自定义变量Then那么Next循环结束Import导入Else否则EndFor循环结束VBSBeginVBS块开始Stop停止Let让VBSEndVBS块结束End结束Call调用DimEnv定义环境变量Exit退出Rem标记Erase初始化数组Select选择Integer整数Randomize初始化随机Case条件Long长整数ReDim重新定义Is是Single单精度Return返回For循环Double双精度Each每个To到Boolean布尔Class类Step步长String字符串True真Byref传址New创建False假Byval传值Plugin插件Lib库*如果在按键精灵中命名时,名字与上表列出的关键字相同,在调试或运行时会提示标识符或符号错误

评测使用redis事务和lua脚本(redission 事务)

云服务器的类型

云服务器类型分为三种:公有云服务器,私有云服务器,专用云服务器

公有云服务器:公有云服务器具有成本效益、弹性扩展、可靠性、高可用性、管理简便、安全性、全球化服务和技术支持等优势,适用于各种规模和类型的企业和个人需求。

私有云服务器:私有云服务器是一种用于构建和管理私有云环境的服务器。它可以提供类似于公有云的弹性计算、存储和网络资源,但是这些资源完全掌控在用户自己的控制下。私有云服务器可以部署在用户自己的数据中心。使用私有云服务器可以满足一些特定需求,例如企业有对数据安全性和隐私性的特别要求,对公有云环境不太适应。

Python 的协程和 goroutine 有什么区别?

最近在做后端服务python到go的迁移和重构,这两种语言里,最大的特色和优势就是都支持协程。之前主要做python的性能优化和架构优化,一开始觉得两个协程原理和应用应该差不多,后来发现还是有很大的区别,今天就在这里总结一下。

什么是协程

在说它们两者区别前,我们首先聊一下什么是协程,好像它没有一个官方的定义,那就结合平时的应用经验和学习内容来谈谈自己的理解。

<< 1 2 3 4 5 6 7 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接