Redis安装使用以及可能的算法实践
Redis 是什么?
Redis是一个开源的使用 ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。--引自百度百科
总之,Redis 就是一个存在于内存的 key-value 数据库,而且基于日志,所以基本不用太担心数据丢失问题,但是要担心数据量的问题。
为什么要用Redis?
因为有时候我们需要非常及时地读取和写入量并不大的数据,即量少但是非常热(频繁读写)的数据,很自然地想到为什么不把它们放在内存里呢?
比如我们的实践:
- 实时流量预估(城市、商圈级别)
- 实时点击率(帖子级别)
- 待实验的实时曝光、点击次数计数(UCB、Tompson Sampling)
其他实践:
- 实时热点新闻
- 实时用户最近访问
Redis 怎么用?
安装
- 源码获取,可以直接从官网下载, 也可以从github上拉取;
- 安装 直接在项目根目录执行make即可,也可以按照README里面make其他,如果只是普通使用,make够了。make完了,会提示你make test;
- 上面make的结果是代码和可执行程序以及中间目标文件在一个目录src里面,非常不爽。分离之,建立bin(二进制文件), conf(redis.conf);
- 启动,如果你没有什么特别需要配置的,直接运行bin里的./redis-server ../conf/redis.conf即可
- 要关闭的话,运行bin里的./redis-cli shutdown
操作
操作一般是通过客户端来进行的,命令行客户端./redis-cli,如果通过java操作,需要使用java的客户端Jedis或者SharedJedis来操作,相信其他语言也会有对应的客户端
代码示例
我确实很懒,虽说天下代码一半抄,我还是懒得把别人的代码贴过来。