REmote DIctionary Server,可以直接理解为远程字典服务,也就是基于Key-Value模式Memcached+Database Persistence。
Redis 是一个开源的key-value内存数据库。支持的数据类型有:String,list,set,sorted set 和 hash
Redis 命令参考: http://redisdoc.com
1,下载:wget http://download.redis.io/releases/redis-2.8.19.tar.gz
2,解压:tar zxvf redis-2.8.19.tar.gz
3,编译:make
4,安装:make install
5,打开Redis的服务器:/home/Redis/src/redis-server
6,打开Redis的客户端:/home/Redis/src/redis-cli(以后直接使用 :redis -cli ,有中文的话,使用: redis -cli --raw )
7,打开Redis性能测试工具:redis-benchmark
8,测试放数据:set a 123
9,测试取数据:get a,如果出现“123”,则说明成功了! (在线测试: http://try.redis.io )
10,关闭Redis服务:redis-cli shutdown
--redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定
--强制备份数据到磁盘:redis-cli save 或者 redis-cli -p 6380 save(指定端口)
11,服务自启动
cp redis.conf /etc
vim /etc/redis.conf,将守护进程:daemonize no 改成:daemonize yes
vim /etc/rc.local,添加:/home/Redis/src/redis-server /etc/redis.conf
Java 客户端需要Jedis(Jedis 是 Redis 官方首选的 Java 客户端开发包)
https://github.com/xetorthio/jedis/downloads
Redis 操作:
1,简单的set和get:
set a 123
get a
显示:123
2,追加
append a 456
get a
显示:123456
2.1,加 1 操作
set age 18
incr age
显示:19
3,set
mset a1 1 a2 2 a3 3
mget a1 a2 a3
显示:
1) "1"
2) "2"
3) "3"
4,map ========================TODO==================
Map <String, String> map = new HashMap<String, String> ();
map.put( "name", "fujianchao" );
map.put( "password", "123" );
map.put( "age", "12" );
// 存入一个map
jedis.hmset("user" , map);
// map key的个数 System.out.println("map的key的个数" + jedis.hlen("user" )); // map key System.out.println("map的key" + jedis.hkeys("user" )); // map value System.out.println("map的value" + jedis.hvals("user" )); // (String key, String... fields)返回值是一个list List<String> list = jedis.hmget("user", "age", "name" ); System.out.println( "redis中key的各个 fields值:" + jedis.hmget("user", "age", "name") + list.size()); // 删除map中的某一个键 的值 password // 当然 (key, fields) 也可以是多个fields jedis.hdel("user", "age" ); System.out.println( "删除后map的key" + jedis.hkeys("user" ));
5,List
lpush list a
lpush list aa
lpush list aaa
lpush list aaaa
获取方法:(根据索引获取,-1 全部;)
lrange list 0 -1,显示:
1) "aaaaa"
2) "aaaa"
3) "aaa"
4) "aa"
5) "a"
获取List中的第1个:lrange list 0 0
获取List中的第2个:lrange list 2 2
获取List中的第2个和第3个:lrange list 1 2
获取栈顶:lpop list
删除:del list
6,
显示:
7,
显示:
8,
显示:
9,
显示:
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1");
System.out.println(jedis.get("key"));
// 添加
jedis.set("a", "啊");
System.out.println(jedis.get("a"));
// 删除
jedis.del("a");
System.out.println(jedis.get("a"));
}
Redis 是一个开源的key-value内存数据库。支持的数据类型有:String,list,set,sorted set 和 hash
Redis 命令参考: http://redisdoc.com
1,下载:wget http://download.redis.io/releases/redis-2.8.19.tar.gz
2,解压:tar zxvf redis-2.8.19.tar.gz
3,编译:make
4,安装:make install
5,打开Redis的服务器:/home/Redis/src/redis-server
6,打开Redis的客户端:/home/Redis/src/redis-cli(以后直接使用 :redis -cli ,有中文的话,使用: redis -cli --raw )
7,打开Redis性能测试工具:redis-benchmark
8,测试放数据:set a 123
9,测试取数据:get a,如果出现“123”,则说明成功了! (在线测试: http://try.redis.io )
10,关闭Redis服务:redis-cli shutdown
--redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定
--强制备份数据到磁盘:redis-cli save 或者 redis-cli -p 6380 save(指定端口)
11,服务自启动
cp redis.conf /etc
vim /etc/redis.conf,将守护进程:daemonize no 改成:daemonize yes
vim /etc/rc.local,添加:/home/Redis/src/redis-server /etc/redis.conf
Java 客户端需要Jedis(Jedis 是 Redis 官方首选的 Java 客户端开发包)
https://github.com/xetorthio/jedis/downloads
Redis 操作:
1,简单的set和get:
set a 123
get a
显示:123
2,追加
append a 456
get a
显示:123456
2.1,加 1 操作
set age 18
incr age
显示:19
3,set
mset a1 1 a2 2 a3 3
mget a1 a2 a3
显示:
1) "1"
2) "2"
3) "3"
4,map ========================TODO==================
Map <String, String> map = new HashMap<String, String> ();
map.put( "name", "fujianchao" );
map.put( "password", "123" );
map.put( "age", "12" );
// 存入一个map
jedis.hmset("user" , map);
// map key的个数 System.out.println("map的key的个数" + jedis.hlen("user" )); // map key System.out.println("map的key" + jedis.hkeys("user" )); // map value System.out.println("map的value" + jedis.hvals("user" )); // (String key, String... fields)返回值是一个list List<String> list = jedis.hmget("user", "age", "name" ); System.out.println( "redis中key的各个 fields值:" + jedis.hmget("user", "age", "name") + list.size()); // 删除map中的某一个键 的值 password // 当然 (key, fields) 也可以是多个fields jedis.hdel("user", "age" ); System.out.println( "删除后map的key" + jedis.hkeys("user" ));
5,List
lpush list a
lpush list aa
lpush list aaa
lpush list aaaa
获取方法:(根据索引获取,-1 全部;)
lrange list 0 -1,显示:
1) "aaaaa"
2) "aaaa"
3) "aaa"
4) "aa"
5) "a"
获取List中的第1个:lrange list 0 0
获取List中的第2个:lrange list 2 2
获取List中的第2个和第3个:lrange list 1 2
获取栈顶:lpop list
删除:del list
6,
显示:
7,
显示:
8,
显示:
9,
显示:
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1");
System.out.println(jedis.get("key"));
// 添加
jedis.set("a", "啊");
System.out.println(jedis.get("a"));
// 删除
jedis.del("a");
System.out.println(jedis.get("a"));
}
来源:oschina
链接:https://my.oschina.net/u/944789/blog/415220