简介

Redis官方网站

http://redis.io

http://try.redis-db.com/是一个很好的在线练习网站,在上面可以学习redis的基本命令,边学习边练习。

redis是一款开源的,高级的key-value数据存储。支持众多的数据类型,string,hash,list,set,sorted set。

 安装redis

 

  1. wget  http://redis.googlecode.com/files/redis-2.4.16.tar.gz  
  2. tar zxvf redis-2.4.16.tar.gz   
  3. cd  redis-2.4.16  
  4. make 

编译之后在[redis-2.4.16\ src]目录中有redis-server,用来启动redis服务;redis-cli,redis客户端,用来测试。

 

基本命令及其使用

 

 

//保存一个key-value

 

  1. set key value 

//获取一个key的value

 

  1. get key 

 

 

  1. set username "virusswb" 
  2.  
  3. get username 

 

 

  1. set connections 10 

//自增,也就是加1

 

  1. incr connections 

 //删除元素

 

  1. del connections 

 

//过期,120秒之后过期

 

  1. expire username 120 

//获取剩余的生存时间,-1代表永不过期

 

  1. ttl username 

 

redis的value除了支持简单类型以外,还支持很多复杂的数据类型,让我们先看一下list,list是有序的集合。你可以使用RPUSH, LPUSH, LLEN, LRANGE, LPOP, and RPOP命令来操作集合。集合的下标从0开始。

//在集合的尾部插入新值

 

  1. rpush friends "tom" 
  2.  
  3. rpush friends "andy" 

 

//在集合的头部插入新值

 

  1. lpush friends "bob" 

//获取集合的长度,也是集合的元素个数

 

  1. llen friends 

//获取集合的子集合,第二个参数如果是-1,代表获取从第一个参数到尾部的全部

//数据

 

  1. lrange friends 0 -1 
  2.  
  3. lrange friends 1 2 

 

 

//返回集合的第一元素,也就是头部元素,并且在集合中删除这个元素

 

  1. lpop friends 

//返回集合的最后一个元素,也就是尾部元素,并且在集合中删除这个元素

 

  1. rpop friends 

 

set也是redis支持的一个value类型,set和list相似,但是set是无序的,并且集合中的元素不能重复。基本的操作包括:SADD, SREM, SISMEMBER, SMEMBERS and SUNION.

//添加元素

 

  1. sadd superpowers "flight" 
  2.  
  3. sadd superpowers "x-ray" 
  4.  
  5. sadd superpowers "reflex" 

 

如果插入的元素已经在集合中存在,就不会进行插入操作,保证集合中不存在重复元素。

//删除元素

 

  1. srem superpowers "reflex" 

//判断集合中是否存在元素

 

  1. sismember superpowers "reflex" 

//返回集合的所有元素

 

  1. smembers superpowers 

//合并两个或者多个set集合,返回合并结果,合并会去除重复元素

 

  1. sadd birdpowers "aaa" 
  2.  
  3. sadd birdpowers "x-ray" 
  4.  
  5. sunion birdpowers superpowers 

 

 

 还有一种value类型,它是有序的set。每个元素和一个score相关联,score用来给元素排序。

 

  1. zadd hackers 5 "aaa" 
  2.  
  3. zadd hackers 2 "bbb" 
  4.  
  5. zadd hackers 9 "zzz" 
  6.  
  7. zadd hackers 6 "kkk" 
  8.  
  9. zrange hacker 2 6 
  10.  
  11. zrange hackers 2 6 
  12.  
  13. zrange hackers 0 -1