学习Redis初步
1、Redis安装配置
a、下载地址: Redis下载
b、在文件夹保存位置,打开一个cmd窗口, 使用cd命令切换目录到 I:\Software\Redis-x64-3.2.100 运行 redis-server.exe redis.windows.conf
![]()
c、另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
运行redis-cli.exe -h 127.0.0.1 -p 6379
2、Redis客户端连接
a、首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型
b、然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法
c、然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送
3、Redis管道技术
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:
a、客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
b、服务端处理命令,并将结果返回给客户端。
4、Redis常用命令
a、CONFIG get requirepass ——查询Redis密码
b、CONFIG set requirepass “123456” ——设置Redis密码
c、AUTH “123456” ——客户端连接 redis
d、config get maxclients ——查询当前服务启动时最大连接数
e、redis-server –maxclients 100000 ——设置需要的最大连接数
3、JAVA使用Redis
a、下载驱动包: 下载 jedis.jar
b、在你的classpath中包含该驱动包
(1)连接Redis服务
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务器正在运行: "+jedis.ping());
}
}
(2)Redis Java String(字符串)
import redis.clients.jedis.Jedis;
public class RedisStringJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//设置 redis 字符串数据
jedis.set("w3ckey", "www.w3cschool.cn");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: "+ jedis.get("w3ckey"));
}
}
(3)Redis Java List(列表)
public class RedisListJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//存储数据到列表中
jedis.lpush("tutorial-list", "Redis");
jedis.lpush("tutorial-list", "Mongodb");
jedis.lpush("tutorial-list", "Mysql");
// 获取存储的数据并输出
List<String> list = jedis.lrange("tutorial-list", 0 ,2);
for(int i=0; i<list.size(); i++) {
System.out.println("列表项为: "+list.get(i));
}
}
}
(4)Redis Java Keys
import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class RedisKeyJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
// 获取数据并输出
Set<String> keys= jedis.keys("*");
Iterator<String> it=keys.iterator();
while(it.hasNext) {
String key=it.next();
System.out.println("key");
}
}
}