Redis入门

Redis 入门

一.Redis简介

Redis(http://redis.io)是一款开源的、高性能的键-值存储(key-value store),它是用ANSI C来编写。Redis的项目名是Remote Dictionary Server的缩写,但它常被称作是一款数据结构服务器(data structureserver)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。

为了获得优异的性能,Redis采用了内存中(in-memory)数据集(dataset)的方式。根据使用场景的不同,你可以每隔一段时间将数据集转存到磁盘上来持久化数据,或者在日志尾部追加每一条操作命令。

Redis同样支持主从复制(master-slave replication),并且具有非常快速的非阻塞首次同步(non-blockingfirst synchronization)、网络断开自动重连等功能。同时Redis还具有其它一些特性,其中包括简单的check-and-set机制、pub/sub和配置设置等,以便使得Redis能够表现得更像缓存(cache)。

Redis还提供了丰富的客户端,以便支持现阶段流行的大多数编程语言。

二.Redis安装

Linux下运行如下命令进行安装(linux上已经安装好了gcc):

$ wget http://download.redis.io/releases/redis-3.2.6.tar.gz
$ tar xzf redis-3.2.6.tar.gz
$ cd redis-3.2.6
$ make

make完后 redis-3.2.6./src目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli。

下面启动redis服务:

$./redis-server

这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动:

$./redis-server../redis.conf

在redis-3.2.6目录下的redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。

启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了:

$ ./redis-cli

redis 127.0.0.1:6379>set foo bar

OK

redis 127.0.0.1:6379>get foo

"bar"

上面演示了get和set命令操作简单类型value的例子。foo是key ,bar是个string类型的value。

停止Redis命令:

./redis-cli-p 6379 shutdown其中6379是redis的端口号

三.Redis客户端

Redis的客户端有很多,有C、C++、C#、Java、PHP、Perl、Python、Ruby等等,支持现阶段流行的大多数编程语言,详情请看redis官网:http://redis.io/clients

下面是Java版的Redis客户端示例:
客户端jar包地址https://github.com/xetorthio/jedis/downloads
Maven POM中添加:


       redis.clients
       jedis
       2.6.3

public class JedisDemo {

    private Jedis jedis;

    @Before
    public void init() {
        //redis 服务器地址,端口
        jedis = new redis.clients.jedis.Jedis("127.0.0.1", 6379);
    }

    /**
     * String 字符串相关操作
     */
    @Test
    public void testString() {
        try {
            //添加字符串
            jedis.set("name", "pub");
            System.out.println(jedis.get("name"));
            //字符串拼接
            jedis.append("name", "info");
            System.out.println(jedis.get("name"));
            //删除
            jedis.del("name");
            System.out.println(jedis.get("name"));
            //批量录入
            jedis.mset("name", "pubinfo", "age", "23", "qq", "5201314");
            //自增操作 +1
            jedis.incr("age");
            System.out.println(jedis.get("name") + ",age=" + jedis.get("age"));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            jedis.disconnect();
        }
    }
}

你可能感兴趣的:(Redis入门)