zoukankan      html  css  js  c++  java
  • 【Redis】三、Redis安装及简单示例

    (四)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)
    
  • 相关阅读:
    bzoj 4012: [HNOI2015]开店
    POJ 1054 The Troublesome Frog
    POJ 3171 Cleaning Shifts
    POJ 3411 Paid Roads
    POJ 3045 Cow Acrobats
    POJ 1742 Coins
    POJ 3181 Dollar Dayz
    POJ 3040 Allowance
    POJ 3666 Making the Grade
    洛谷 P3657 [USACO17FEB]Why Did the Cow Cross the Road II P
  • 原文地址:https://www.cnblogs.com/gzshan/p/10973972.html
Copyright © 2011-2022 走看看