layout: post

title: 2017-12-05-Redis 入门

tags:

- Redis

- 实时特征

- UCB, Tompson sampling

Redis 是什么?

Redis是一个开源的使用 ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。--引自百度百科

总之,Redis 就是一个存在于内存key-value 数据库,而且基于日志,所以基本不用太担心数据丢失问题,但是要担心数据量的问题。

为什么要用Redis?

因为有时候我们需要非常及时地读取和写入量并不大的数据,即量少但是非常热(频繁读写)的数据,很自然地想到为什么不把它们放在内存里呢?

比如我们的实践:

  1. 实时流量预估(城市、商圈级别)
  2. 实时点击率(帖子级别)
  3. 待实验的实时曝光、点击次数计数(UCB、Tompson Sampling)

其他实践:

  1. 实时热点新闻
  2. 实时用户最近访问

Redis 怎么用?

安装

  1. 源码获取,可以直接从官网下载, 也可以从github上拉取;
  2. 安装 直接在项目根目录执行make即可,也可以按照README里面make其他,如果只是普通使用,make够了。make完了,会提示你make test;
  3. 上面make的结果是代码和可执行程序以及中间目标文件在一个目录src里面,非常不爽。分离之,建立bin(二进制文件), conf(redis.conf);
  4. 启动,如果你没有什么特别需要配置的,直接运行bin里的./redis-server ../conf/redis.conf即可
  5. 要关闭的话,运行bin里的./redis-cli shutdown

操作

操作一般是通过客户端来进行的,命令行客户端./redis-cli,如果通过java操作,需要使用java的客户端Jedis或者SharedJedis来操作,相信其他语言也会有对应的客户端

代码示例

参见

我确实很懒,虽说天下代码一半抄,我还是懒得把别人的代码贴过来。

最新文章

  1. System.Collections.Generic的各容器类的用法
  2. JMeter基础之一 一个简单的性能测试
  3. 获取WIFI的SSID和本机IP
  4. Android异步回调中的UI同步性问题
  5. Android对应用程序签名
  6. 每天一个linux命令(37):free 命令
  7. MySQL INSERT DELAYED
  8. SHDP--Working With HBase (二)之HBase JDBC驱动Phoenix与SpringJDBCTemplate的集成
  9. Nagios利用NSClient++监控Windows主机
  10. Python核心编程读笔 9: 异常
  11. RAC ORA-12170 ora-12535/tns-12535
  12. pypi 的使用
  13. [测试题]幸运序列(lucky)
  14. bzoj 3505 [Cqoi2014]数三角形 组合
  15. matlab飞机飞行
  16. Python单元测试框架unittest
  17. web和servlet一样的用法但是有区别
  18. RNA-seq基本流程
  19. 一次完整的http事务的过程
  20. MFC入门(二)-- 提取输入框的字符串(定时关机的小程序)

热门文章

  1. C#中部分重点前端设置问题
  2. 原生js实现jquery的siblings()
  3. Appium自动化Android环境搭建
  4. tsconfig.json无法写入webpack.config.js 因为它会覆盖输入文件。
  5. 安卓自动化测试工具Monkey简单使用
  6. 关于java基础语法的学习笔记
  7. Docker端口映射及创建镜像演示(二)
  8. 现代C++教程:高速上手(四)-容器
  9. Infor EAM:注重行业属性,实现对轨道交通线性资产的可视化管理
  10. redis入门指南(七)—— 安全、协议、管理工具及命令属性