Redis在windows实现将数据缓存起来定时更新读取

Posted Anker_张

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis在windows实现将数据缓存起来定时更新读取相关的知识,希望对你有一定的参考价值。

    实现接口的读取存放在内存中,实现了Web网站直接读取内存数据,大大的减少了访问接口带来的等待时间,这个功能是比较实用的

 需要下载一下‘类库’及‘Redis-x64-3.2.100程序包’

百度云材料下载地址:链接: 链接: https://pan.baidu.com/s/1boYltxl  密码 h1e4

1.材料下载完,在Windows64位系统上安装【Redis-x64-3.2.100程序包】

  这里为了教大家使用Redis,我把电脑上的Redis卸载了,重新安装一遍

  

  安装步骤就是下一步,同意,你们懂得,

   

  这里我把安装路径放在了D盘Redis文件夹下,文件夹是自己创建的,安装位置你们随意,高兴就好

  

  这里选择端口号,可能不一样,红字意思是“防火墙服务必须运行以添加新的异常”,然后安装完成后

  

2. 运行cmd控制台

  

  先打开 d:

  cd redis

  redis-cli.exe

  可能安装路径不一样 总是你运行刚安装的redis-cli.exe 就好

3.接下来就测试一下本电脑的Redis的存储功能

  存储格式是采用 键值对的格式 【Key,Vaule】 程序员都懂的

  方法1 get  Key  :获取Key的值

  方法2 set Key value 设置Key 的值是value,Key值如果存在则替换,很好理解吧

  方法3:del Key 删除Key

  实例:

4.这是在计算机内存中存储的值如何在程序中获取和设置

  接下载看 宇宙无敌VS 我创建了一个控制台程序 RedisDemo

  将百度云里下载的 8个DLL类库引用进去

  

namespace RedisDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //先new 一个Redis客户端类,参数是(ip,端口号)
              RedisClient Redis = new RedisClient("127.0.0.1", 6379);
              Redis.Set<string>("Name", "Anker_Zhang[博客园]");
              string name= Redis.Get<string>("Name");
              Console.WriteLine("Name值为:{0}", name);
              Redis.Del("Name");
              Console.WriteLine("删除了 Name Key");
              name = Redis.Get<string>("Name");
              Console.WriteLine("Name值为:{0}", name);
              Console.WriteLine("*******当然这里都是读取的内存值,cmd控制台设置的Key程序中也可以获取到*******");
              string content = Redis.Get<string>("Content");
              Console.WriteLine("在cmd控制台设置的Content, Content值为:{0}", content);
              Console.ReadLine();
        }
    }
}

 

 

这样就实现了Redis通过程序读取数据了 ,一般这样的功能搭配接口数据使用比较搭,可以大大减少请求接口所用时间

 

 

 Redis简介

已经有了Membercache和各种数据库,Redis为什么会产生?Redis纯粹为应用而产生,它是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,解决了断电后数据完全丢失的情况;在部分场合可以对关系数据库起到很好的补充作用。性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同)。

Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。 这些数据类型支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,支持各种不同方式的排序。redis 与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改 操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

redis目前提供四种数据类型:string,list,set及zset(sorted set)。

Redis的存储分为内存存储、磁盘存储和log文件三部分,配置文件中有三个参数对其进行配置。

  1. save seconds updates :指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。
  2. appendonly yes/no :是否在每次更新操作后进行日志记录。如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据 文件是按上面的save条件来同步的,所以有的数据会在一段时间内只存在于内存中。
  3. appendfsync no/always/everysec :数据缓存同步至磁盘的方式。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次。

 

以上是关于Redis在windows实现将数据缓存起来定时更新读取的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot + Redis 实现点赞功能的缓存和定时持久化(附源码)

Django中使用Celery实现定时任务(用djcelery)

如何利用redis从数据库读出数据

redis序列化对象操作

简单实现Redis缓存中的排序功能

点赞模块设计:Redis缓存 + 定时写入数据库实现高性能点赞功能