论坛首页 编程语言技术论坛

学习redis应用于缓存

浏览 2910 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2017-10-08  

学习redis应用于缓存(1)

 

1.安装

www.redis.io 安装在linux环境下

$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz

$ tar xzf redis-4.0.1.tar.gz

$ cd redis-4.0.1

$ make

 

2.启动服务端和客户端

src/redis-server

src/redis-cli

 

3.存储数据类型

key: string

value: 6种基本的value类型

  1:字符串string

  2:哈希hash

  3:字符串列表list

  4:字符串集合set 不重复,无序

  5:有序集合sortedset  ,不重复,有序

  6:HyperLogLog结构(redis2.8.9版本之后才有,用来做基数统计的算法。)

  

4.应用场景:在分页查询时使用redis用作缓存

 

redis数据库:在redis的server端,维护着多个数据库(16个),默认0。

select 0

 

redis.conf可以配置数据库个数

databases 16

 

 

redis的设计   

关系型数据转化为KV数据库,我的方法如下:   

key 表名:主键值:列名   

value 列值

 

(1)需要缓存的方法名称     值为hash

user:{userName}={方法名称:1}

(2)方法名对应的数据表     值为list

dat:{userName}:{方法名称}= [结果数据列表]

 

exists user:zhangsan

hset user:zhangsan query 1

hexists user:zhangsan   query

del user:zhangsan

 

exists user:zhangsan:query

llen user:zhangsan:query

rpush user:zhangsan:query 3

lrange user:zhangsan:query 0 -1 [表头到表尾]

ltrim user:zhangsan:query 1 0

 

 

5.java客户端调用redis

使用jedis连接redis服务端: jedis-2.9.0.jar

 

http://blog.csdn.net/u012658346/article/category/6212310/2

 

6.清理缓存数据(如何用多线程清除失效的数据,缓存时效1分钟)

 

 

 

 

 

7.redis遇见的问题

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out

 

8.匹配key: keys user*

 

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics