Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
a、支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基数估算)
b、支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失的手?????? 段。
c、支持通过Replication进行数据复制,通过master-slave机制,可以实时进行数据的同步复制,支持多级复制和增量复制, master-slave机制是Redis进行HA的重要手段。
d、单进程请求,所有命令串行执行,并发情况下不需要考虑数据一致性问题。
a、String(字符串)
b、Hash(hash表)
c、List(链表)
d、Set(集合)
e、SortedSet(有序集合zset)
a、RDB方式b、AOF方式
a、hset 存储一个哈希键值对的集合
b、hget获取一个哈希键的值c、hdel 删除一个或多个字段
d、hgetall 获取一个哈希是键值对的集合
e、lpush key value向链表左侧添加f、rpush key value向链表右侧添加g、lpop key 从左边移出一个元素
h、rpop key 从右边移出一个元素
i、keys * 返回所有的key 可以加*通配
j、exists key判断string类型一个key是否存在 如果存在返回1 否则返回0
?所需要的Maven依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.1</version><!--版本号-->
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version><!--版本号-->
</dependency>
package com.zzp.test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
import java.util.Iterator;
import java.util.Set;
public class Test {
public static void main(String[] args) {
// test1();
// test2();
// test3();
// test4();
// test5();
// test6();
test7();
}
private static void test7() {
//转换成UTF-8格式
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
// jedis.zadd("myscor",70,"rucy");
// jedis.zadd("myscor",80,"kidd");
// jedis.zadd("myscor",90,"lisa");
// jedis.zadd("myscor",100,"ross");
Set<Tuple> res=jedis.zrangeWithScores("myscor",0,-1);
Iterator<Tuple> iterator= res.iterator();
while (iterator.hasNext()){
Tuple tuple= iterator.next();
System.out.println(tuple.getElement()+" "+tuple.getScore());
}
jedis.close();
}
private static void test6() {
//有序set
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
jedis.zadd("myscorc",70,"rucy");
jedis.zadd("myscorc",80,"kidd");
jedis.zadd("myscorc",90,"lisa");
jedis.zadd("myscorc",100,"ross");
System.out.println(jedis.zrange("myscorc",0,-1));
jedis.close();
}
private static void test5() {
//set类型
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
jedis.sadd("myset","a");
jedis.sadd("myset","b");
System.out.println(jedis.smembers("myset"));
jedis.close();
}
private static void test4() {
//list类型
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
jedis.lpush("mylist","aa");
jedis.lpush("mylist","bb");
jedis.rpush("mylist","cc");
jedis.rpush("mylist","dd");
jedis.rpush("mylist","ee");
System.out.println(jedis.lrange("mylist",0,-1));
jedis.close();
}
private static void test3() {
//hash类型
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
jedis.hset("myhash","username","rose");
jedis.hset("myhash","height","180");
System.out.println(jedis.hget("myhash","height"));
System.out.println(jedis.hgetAll("myhash"));
jedis.close();
}
private static void test2() {
//定时删除
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
jedis.setex("code",10,"7777");
System.out.println(jedis.get("code"));
jedis.close();
}
private static void test1() {
//String类型
//建立redis的通讯
Jedis jedis=new Jedis("127.0.0.1",6379);
//填写密码
jedis.auth("root");
//选择redis里面的数据库
jedis.select(3);
//向redis里面存数据
jedis.set("username","李四");
//获取值
System.out.println(jedis.get("username"));
//关闭
jedis.close();
}
}
|