Ubuntu下安装Redis

2014-12-17 veryyoung 更多博文 » 博客 » GitHub »

原文链接 http://veryyoung.me/blog/2014/12/17/install-redis-on-ubuntu.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


1.下载源码

wget http://download.redis.io/releases/redis-2.8.19.tar.gz

2.解压

tar -zxf redis-2.8.19.tar.gz

3.make

make

4.install

sudo make install

5.服务配置

wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf sudo mv redis-server /etc/init.d/redis-server sudo chmod +x /etc/init.d/redis-server sudo mv redis.conf /etc/redis.conf

6.配置log位置

sudo useradd redis sudo mkdir -p /var/lib/redis sudo mkdir -p /var/log/redis sudo chown redis.redis /var/lib/redis sudo chown redis.redis /var/log/redis

7.启动Redis

sudo /etc/init.d/redis-server start

8.客户端测试

redis-cli

9.代码测试

在pom里添加Jredis的依赖项

import java.util.HashMap; import java.util.List; import java.util.Map;

import redis.clients.jedis.Jedis;

/**

  • Created by veryyoung on 2014/12/17. */ public class RedisTest {

    public static void main(String[] args) {

    //连接redis服务 :第一个参数是redis的IP,第二个参数是redis访问端口 Jedis jedis = new Jedis("", 6379);

    //密码验证-如果你没有设置redis密码可不验证即可使用相关命令 //jedis.auth("");

    //简单的key-value 存储 jedis.set("redis", "myredis"); System.out.println(jedis.get("redis"));

    //在原有值得基础上添加,如若之前没有该key,则导入该key //之前已经设定了redis对应"myredis",此句执行便会使redis对应"myredisyourredis" jedis.append("redis", "yourredis"); jedis.append("content", "rabbit");

    //mset 是设置多个key-value值 参数(key1,value1,key2,value2,…,keyn,valuen) //mget 是获取多个key所对应的value值 参数(key1,key2,key3,…,keyn) 返回的是个list jedis.mset("name1", "yangw", "name2", "demon", "name3", "elena"); System.out.println(jedis.mget("name1", "name2", "name3"));

    //map Map<String, String> user = new HashMap<String, String>(); user.put("name", "cd"); user.put("password", "123456"); //map存入redis jedis.hmset("user", user); //mapkey个数 System.out.println(String.format("len:%d", jedis.hlen("user"))); //map中的所有键值 System.out.println(String.format("keys: %s", jedis.hkeys("user"))); //map中的所有value System.out.println(String.format("values: %s", jedis.hvals("user"))); //取出map中的name字段值 List<String> rsmap = jedis.hmget("user", "name", "password"); System.out.println(rsmap); //删除map中的某一个键值 password jedis.hdel("user", "password"); System.out.println(jedis.hmget("user", "name", "password"));

    //list jedis.del("listDemo"); System.out.println(jedis.lrange("listDemo", 0, -1)); jedis.lpush("listDemo", "A"); jedis.lpush("listDemo", "B"); jedis.lpush("listDemo", "C"); System.out.println(jedis.lrange("listDemo", 0, -1)); System.out.println(jedis.lrange("listDemo", 0, 1));

    //set jedis.sadd("sname", "wobby"); jedis.sadd("sname", "kings"); jedis.sadd("sname", "demon"); System.out.println(String.format("set num: %d", jedis.scard("sname"))); System.out.println(String.format("all members: %s", jedis.smembers("sname"))); System.out.println(String.format("is member: %B", jedis.sismember("sname", "wobby"))); System.out.println(String.format("rand member: %s", jedis.srandmember("sname"))); //删除一个对象 jedis.srem("sname", "demon"); System.out.println(String.format("all members: %s", jedis.smembers("sname"))); } }

输入

myredis [yangw, demon, elena] len:2 keys: [password, name] values: [123456, cd] [cd, 123456] [cd, null] [] [C, B, A] [C, B] set num: 3 all members: [wobby, demon, kings] is member: TRUE rand member: demon all members: [wobby, kings]

Process finished with exit code 0