(四)Redis安装及使用
Redis的安装比较简单,仍然和大多数的Apache开源软件一样,只需要下载,解压,配置环境变量即可。具体安装过程参考:菜鸟教程Redis安装。
安装完成后,通过redis-server
启动Redis服务器,在通过Redis-cli
启动一个客户端就可以进行简单的测试。
(五)Redis简单示例
Redis作为一个key-Value的开源数据库,我们在简介中提到它提供了多种语言的API。这里我们通过java和python给出使用其API的简单示例。
1、Redis的Java API
对于Java项目我们可以使用maven进行构建。
package com.redis.sgz;
import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class RedisTest{
private String host;
private int port;
private String password;
private Jedis jedis;
//通过密码连接redis
public RedisTest(String host,int port,String password){
this.host=host;
this.port=port;
this.password=password;
}
//不使用密码连接
public RedisTest(String host,int port){
this.host=host;
this.port=port;
this.password=null;
}
//连接到redis服务器
public void connect(){
jedis=new Jedis(host, port);
//是否进行密码认证
if(password!=null)
jedis.auth(password);
System.out.println("connect success!");
//查看服务是否运行
System.out.println("服务正在运行:"+jedis.ping());
}
//关于redis键的相关操作
public void keyOperate(){
System.out.println("***********************key**********************");
//输出当前系统中所有的键
Set<String > keys=jedis.keys("*");
Iterator<String > iterator=keys.iterator();
while(iterator.hasNext())
System.out.println(iterator.next());
//添加一个key
jedis.set("myredis","redis");
//判断一个键在系统中是否存在
System.out.println("删除前:键myredis存在吗?"+jedis.exists("myredis"));
//查看key所对应值的类型
System.out.println("键myredis存储的类型是:"+jedis.type("myredis"));
//删除一个key
jedis.del("myredis");
System.out.println("删除后:键myredis存在吗?"+jedis.exists("myredis"));
}
//数据结构1:字符串
public void stringOperate(){
System.out.println("***********************string**********************");
//增加键值对
jedis.set("key1","value1");
jedis.set("key2","value2");
jedis.set("key1","value3");
//获取某个key对应的值
System.out.println("key1对应的值:"+jedis.get("key1"));
//获取某个key对应的值的子字符
System.out.println("key1对应的值子字符:"+jedis.getrange("key1",0,2));
//获取某个key对应的值长度
System.out.println("key1对应的值长度为:"+jedis.strlen("key1"));
}
//数据结构2:哈希Hash
//数据机构3:列表List
//数据结构4:集合Set
//数据结构5:有序集合zSet
//操作方法都类似,重点是掌握相应的命令
public static void main(String[] args){
RedisTest redis=new RedisTest("localhost",6379);
//测试连接
redis.connect();
redis.keyOperate();
redis.stringOperate();
}
}
2、Redis的Python API
pythonde 的API使用起来相对更加简单一些。
#coding=utf-8
import redis
def connect(host,port):
r=redis.Redis(host=host,port=port)
# 测试是否正在运行
print("redis is run:"+str(r.ping()))
return r
def stringOperate(r):
r.set("name","zhangsan")
r.set("age","10")
print(r.get("name"))
print(r.getrange("name",0,2))
r.append("name","add")
print(r.get("name"))
r.incr("age")
print(r.get("age"))
if __name__ == "__main__":
r=connect("10.2.17.180",6379)
stringOperate(r)