redis 入门笔记

redis安装

redis是一种基于内存的kv数据存储系统,其在windows环境下安装,本人下载redis-2.2.2。分两步:

  1. 启动redis服务   -> redis-server.exe redis.conf
  2. 启动redis客户端 (在新的console中)-> redis-cli.exe -h localhost -p 6379

redis 主要指令(全部指令在上述环境中实验验证)

  • 设置key: set my_key my_value
  • 获取指定key的值: get my_key
  • 是否存在key:exists my_key
  • 删除key:del my_key
  • 名为key的list中添加数据:rpush my_key_list 1
  • 名为key的list长度:llen my_key_list
  • 返回名为key的list对首元素:lpop my_key_list
  • 名为key的set中添加数据:sadd my_set hello
  • 名为key的set中删除数据:srem my_set hello
  • 返回名为key的set的元素:smembers my_set
  • 名为key的hash表添加数据:hset my_hash field1 value1
  • 获取名为key的hash表指定键的值:hget my_hash field1
  • 返回hash表中的元素个数:hlen my_hash
  • 返回hash表中所有的键值:hkeys my_hash
  • 存储:save 注 redis将DB保存在本地的.rdb文件中,当系统启动时会自动调用rdbload()加载
  • 发布订阅例子:
    • 客户端1登录后发布:subscribe chat,命令输入后程序挂起,等待chat相关消息发布
    • 客户端2登录后输入:publish chat hello,此时客户端1收到消息如下:

redis应用

1、存储细粒度数据:

  关系数据库转换为KV缓存建议:key 表名:主键值:列名value 列值

  例如:set user:1:username 'Fredic'

2、存储关系数据库操作:

 

  String key= CAHCENAME + ":getGoodsList:" + offset + ":" + limit;
  List<Goods> result_cache = cache.getListCache(key, Goods.class);

  cache.putListCacheWithExpireTime(cache_key, data, CAHCETIME);

  这里的JAVA对象可以通过Google 的ProtoStuff序列化后存储

3、其他零散知识点:

  3.1 可以采用type key名称,获取此key的类型;

  3.2 hkeys 可以获取hash类型key的所有字段;

  3.3.采用ttl key名称,可以获取此key的过期时间;

  3.4 某监控软件采用hash类型的存储,存储性能指标(设置过期时间),以时间作为key(hash类型),以服务器IP作为hash里的字段,存储一个JSON字符串(该字符串定义CPU、内存等信息)

  3.5 采用info memory命令可查看当前redis的内存使用情况

 

 

posted @ 2013-05-03 14:30  Fredric_2013  阅读(271)  评论(0编辑  收藏  举报