随笔分类 - 中间件-数据库 / Redis
摘要:1.使用 flushall 命令可以清空当前数据库存储的所有记录 由于我开启了RDB和AOF的混合存储模式,所以当前命令肯定是记录到了appendonly.aof里面。 2.找到redis的安装目录,使用txt文档打开aof文件可以看到最后的记录命令是 flushall 将当前命令删除,并保存修改
阅读全文
摘要:前面学习了Lua的基本语法,接下来是使用Lua编写脚本 1.可以使用redis.call来调用redis命令 使用redis.call会将redis命令返回的类型 转换成对应的Lua数据类型。 关系如下 与redis.call想类似的就是redis.pcall。 【redis.call与redis.
阅读全文
摘要:【String库】 1.获取长度,相当于# 2.大小写 相当于C#里面的 3.获取子字符串,注意下标从1开始 结尾默认数字是-1。负数指从后往前数 相当于C#里面的 【table库】 1.数组转字符串 使用了table.concat这个方法,参数分别是表类型,自定义的分隔符(默认是空),开始下标(默
阅读全文
摘要:1.可以直接声明一个局部变量来接收函数,也可以直接简写 local square=function(i) return i*i end 简写: local function square(i) return i*i end 2.当调用函数时,参数是一一对应的,如果多了参数,则会忽略,少则会将对应位置
阅读全文
摘要:【Lua表类型】 可以看做是 数组和对象的结合体。兼具两者的性质 1.声明方式一 或者 可以看出这和js中声明对象的形式是一样的 2.声明形式二 可以看到这和js里面的数组形式很像,但是需要注意的是,下标是从1开始,而不是0。 这里可以使用for打印出来数组的内容,需要注意for循环的内容 inde
阅读全文
摘要:Lua是一门脚本语言,可以编写Lua脚本到Redis中执行 如果需要需要调试Lua脚本,可以到Lua官网下载Lua,然后在本地cmd控制台来调试命令 【使用Lua脚本的优点】 1.减少网络开销。Redis每条命令都需要进行网络传输,特别是命令条数很多的情况。 2.原子操作。脚本都会作为一个整体执行,
阅读全文
摘要:1.设置过期时间 expire [keyName] [seconds] eg: expire foo 60 再次使用expire命令会重置键的过期时间。 2.查看剩余过期时间 ttl [keyName] eg: ttl foo ttl表示time to live 3.使用事务 连续执行一系列命令 m
阅读全文
摘要:有序集合。使用分数score来标记每个元素 1.添加元素 zadd mathScore 98 jordan 86 james 77 kobe 添加了三个元素,分数在前 2.假如添加的元素已经存在的话,则会替换原来的分数。 zadd mathScore 79 kobe 则将kobe的分数改为79 3.
阅读全文
摘要:集合类型。元素各不相同没有顺序 1.添加元素 sadd [keyName] [member1] [member2]... eg: sadd letters a b c 2.删除元素 srem [keyName] [member1] [member2]... eg srem letters a b 3
阅读全文
摘要:list通常用于存储有序队列 操作通常是push 和pop 1.向队列插入一个数(左) lpush nums 2 对于的右侧插入一个数 rpush nums 7 2.连续插入数字 lpush nums 5 6 9 0 注意:使用空格隔开,而不是逗号,是用逗号的话会看成一个整体 3.弹出一个数字 lp
阅读全文
摘要:hash类型主要用来存储对象,比如说存储一个汽车属性的值 1.连续赋值 hmset [keyName] [field1] [value1] [field2] [value2] ... eg: hmset car color "black" name "BMW" price 20000 2.连续获取值
阅读全文
摘要:【1.String类型】 1.1基础赋值 set key //赋值 get key //获取值 1.2 增加减少值 incr key //如果存储的是整型,则增加1,如果不存在则新建一个键,并默认0 incrby key increment //增加指定的数值,increment表示要增加的值 de
阅读全文
摘要:@echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0" star
阅读全文
摘要:为了防止Redis宕机导致数据全部清空,所以有持久化操作 显然不能高频的生成RDB文件进行备份,毕竟数据多,而且操作耗时。 所以需要将增删改的操作写进AOF文件 但是也不能每条操作都立刻写AOF文件,所以创建一个AOF_Buffer缓冲区,然后再挑时间写入AOF文件。 但是AOF文件太臃肿,可以合并
阅读全文
摘要:在redis的安装目录下面新建文本文档,写入 redis-server.exe redis.windows.conf 重命名为start.bat,每次双击这个批处理文件即可
阅读全文
摘要:【C#代码方式】 一般添加值之后,不设置过期时间的话,ttl某个键会显示-1,表示此时并没有设置过期时间 当设置了过期时间之后,则会显示剩余过期秒数 设置过期时间的做法 #region 设置过期时间 //设置多少秒 client.Set<string>("name", "Adu", TimeSpan
阅读全文
摘要:首先需要添加引用ServiceStack.Redis using(IRedisClient client=new RedisClient("127.0.0.1",6379,"123456",2)) { #region 单个增加与读取 //删除当前数据所有key client.FlushDb(); C
阅读全文
摘要:Redis设置密码的方法有两种 第一种、直接修改redis.conf 在配置文件中 找到 # requirepass foobared 这里默认是注释掉的,表示不使用密码,将#去掉,并将foobared改为自己想要修改的密码,需要重启redis。 第二种、直接使用命令 使用以下命令 config s
阅读全文
摘要:一、缓存雪崩 原因:Redis服务崩溃、缓存同一时间同时过期等 解决方法: 1.给设置的过期时间加一个随机数,避免同一时间删除 2. 事前:建立redis集群 事中:本地缓存+限流 事后:重复加载数据 二、缓存穿透 原因:缓存服务器上面不存在的数据,到数据库中依然不存在,一直返回空值 解决方法: 1
阅读全文
摘要:可以采用三种方法: 定时删除、定期删除、惰性删除 一、定时删除 写一个定时器,将key的过期时间到达时,立刻将键删除 优点:节约内存 缺点:增加CPU压力,影响redis服务器响应时间和吞吐量 二、定期删除 activeExpireCycle()函数对每个expires(数据库)逐一进行检测对每个数
阅读全文

浙公网安备 33010602011771号