学习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*