(四)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;//通过密码连接redispublic 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());//添加一个keyjedis.set("myredis","redis");//判断一个键在系统中是否存在System.out.println("删除前:键myredis存在吗?"+jedis.exists("myredis"));//查看key所对应值的类型System.out.println("键myredis存储的类型是:"+jedis.type("myredis"));//删除一个keyjedis.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 redisdef connect(host,port):r=redis.Redis(host=host,port=port)# 测试是否正在运行print("redis is run:"+str(r.ping()))return rdef 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)