• redis入门


    redis 简单介绍

    Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库,它也属于 nosql。 Redis 和 Memcached 类似,都是内存级别的数据缓存,主要用户数据缓存,它支持存储的 value 类型相对 更多,包括 string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和 hash(哈希类型)。
    Redis 不仅有丰富的特性(数据持久化到硬盘、 publish/subscribe、 key 过期),还有极高性能;

    安装

    在安装目录下 redis-cli.exe 表示客户端启动工具 和 redis-server.exe表示服务端启动工具
    直接cd 到当前目录 启动 服务和 启动 客户端工具
    正确显示端口表示连接成功
    redis.windows-service.conf 修改一些配置

    使用

    • 在 node 中使用 要 安装; npm install redis --save
    
    // 安装redis   npm i redis --save
    // 启动  redis-server.exe redis.windows.conf
    // 另一个窗口进入  redis-cli.exe -h 127.0.0.1 -p 6379
    
    const redis = require('redis');
    
    // 创建客户端;
    const redisClient = redis.createClient(6379,'127.0.0.1');
    // 监控错误;
    redisClient.on('error',err=>{
        console.error(err);
    })
    // 设置 值 获取值;
    redisClient.set('myname','kg',redis.print);
    redisClient.get('myname',(err,val)=>{
        if(err){
            console.error(err);
            return
        }
        console.log(val);
        // 一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。
        redisClient.quit();
    })
    
    

    语法和 可存取数据类型

    • Redis 字符串数据类型的相关命令用于管理 redis 字符串值。
    查看所有的 key: keys * 
    普通设置: set key value 
    设置并加过期时间: set key value EX 30     表示 30 秒后过期 
    获取数据: get key 
    删除指定数据: del key 
    删除全部数据: flushall 
    查看类型: type key 
    设置过期时间: expire key 20     表示指定的 key5 秒后过期
    
    
    • Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或 者尾部(右边)
    列表右侧增加值: rpush key value 
    列表左侧增加值: lpush key value 
    右侧删除值: rpop key 
    左侧删除值: lpop key 
    // lrange key start end 可以获取范围  其中 0 表示列表的第一个元素 1 表示列表的第二个元素
    //  -1 表示列表的最后一个元素  -2 表示列表的倒数第二个元素
    获取数据: lrange key 0 -1
    删除指定数据: del key 
    删除全部数据: flushall 
    查看类型: type key
    
    • Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数 据。它和列表的最主要区别就是没法增加重复值
    给集合增数据: sadd key value 
    删除集合中的一个值: srem key value 
    获取数据: smembers key 
    删除指定数据: del key 
    删除全部数据: flushall
    
    • Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
    设置值 hmset : hmset zhangsan name "张三" age 20 sex “男”     // 一次设置多个
    设置值 hset : hset zhangsan name "张三"                       // 一次设置一个
    获取数据: hgetall key
    删除指定数据: del key 
    删除全部数据: flushall
    

    Redis 订阅发布

    • Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
    • 夸服务器通讯

    一台服务器发布消息

    其他多台可以订阅

    // 发布
    var redis = require("redis"),
        client = redis.createClient(6379,'127.0.0.1');
    // 发布
    client.publish('testPublish', 'message from publish.js');
    
    
    // 订阅
    var redis = require("redis"),
        client = redis.createClient(6379,'127.0.0.1');
    // 监听广播  监听testPublish 这名字的广播;
    client.subscribe('testPublish');
    
    client.on('message', function(channel, msg){
        console.log('client.on message, channel:', channel, ' message:', msg); });
    
    
  • 相关阅读:
    著名的sql注入问题-问题的原因分析及总结
    带你玩转JavaWeb开发之四 -如何用JS做登录注册页面校验
    带你玩转JavaWeb开发之三 -JS插件实战开发
    JSON.toJSONStringWithDateFormat 部分字段无法序列化
    The forked VM terminated without saying properly goodbye. VM crash or System.exit called
    Referenced file contains errors (http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd)
    Referenced file contains errors (http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd)
    Spring使用运行测试文件的时候报 The matching wildcard is strict, but no declaration can be found for element 'tx:advice'
    org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
    poi导出xlsx(Excel2007),分多个sheet
  • 原文地址:https://www.cnblogs.com/kgwei520blog/p/13700630.html
Copyright © 2020-2023  润新知