博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis了解一下
阅读量:5268 次
发布时间:2019-06-14

本文共 1951 字,大约阅读时间需要 6 分钟。

最近一直在忙活后台,系统是Koa+MySql+Redis。

之前很少接触Redis,现在简单认识和总结一下:

1、什么是Redis

Redis全称为:Remote Dictionary Server(远程数据服务),是一个key-value存储系统。

2、特点:

1)读写效率高

Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。

2)存储特性

储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。因为Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中,这些可以通过配置文件对其进行配置,正因为这样,Redis才能实现持久化。

3、用法

在Node环境中实现增删查

module.exports = new (function () {    var self = this;    var redis = require("redis");    var client = null;    this.init = function (host, port) {        client = redis.createClient(port || 6379, host || '127.0.0.1', {});    };    this.getCache = function (key, call) {        !client && (self.init());        return new Promise(function (res, rej) {            call = call || res;            client.get(key, function (err, v) {                if (v) {                    if (v.indexOf('obj-') === 0) {                        v = v.slice(4);                        call(JSON.parse(v));                    } else if (v.indexOf('str-') === 0) {                        call(v.slice(4));                    } else {                        call(v);                    }                } else {                    call();                }            });        });    };    this.setCache = function (key, value, expire) {        !client && (self.init());        var v = value;        if (typeof value == 'object') {            v = JSON.stringify(value);            v = 'obj-' + v;        } else {            v = 'str-' + v;        }        client.set(key, v);        client.expire(key, expire || 72000 * 60 * 1000);    };    this.clearCache = function (keys) {        !client && (self.init());        for (var i = 0; i < keys.length; i++) {            client.del(keys[i]);        }    };})();

要先npm一下redis哦

4、场景应用

因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。

可以实现时间调度,比如在一些订单有明确时效的场景中应用。

转载于:https://www.cnblogs.com/KDSER/p/9099365.html

你可能感兴趣的文章
P1970 花匠
查看>>
query和exec区别
查看>>
java语言与java技术
查看>>
南阳22
查看>>
分享一次在Windows Server2012 R2中安装SQL Server2008
查看>>
NOIP2016提高A组五校联考2总结
查看>>
OpenStack_Glance
查看>>
Spring PropertyPlaceholderConfigurer数据库配置
查看>>
RabbitMQ学习系列三:.net 环境下 C#代码订阅 RabbitMQ 消息并处理
查看>>
Python日期计算
查看>>
用css3绘制你需要的几何图形
查看>>
对其他团队的项目的意见或建议
查看>>
iOS 项目的编译速度提高
查看>>
机房收费系统——报表
查看>>
How to unshelve many shelves at same time
查看>>
table中checkbox选择多行
查看>>
动态链接库
查看>>
Magento开发文档(三):Magento控制器
查看>>
使用Docker官方的Django包【转】
查看>>
SuperSocket 学习
查看>>