Cd /usr/local/redis/src
运行服务端:./redis-server
另外启动一个客户端ssh窗口执行
运行客户端(默认连接本机6379端口):./redis-cli
劣势:这种部署方式不能进行集群部署
另外一台电脑登录redis执行:./redis-cli –h IP地址 –P 端口
vim redis.conf 修改daemonize no 改成 daemonize yes如下图所示:
执行:./src/redis-server ./redis.conf
查看:ps -ef |grep -i redis 可以看到redis的进程是否已经启动
4redis命令-string命令
Mysql关系型数据库,二进制不安全;编码和解码只在客户端发生,不在客户端和磁盘编解码;项目创建是GBK或者UTF8以后都不会发生其他的
而MySQL编解码过程:
如果赋予项目的KEY,新的value会覆盖旧的value值
计数器的使用:incr和decr只能对数值进行操作(递增和递减)
主要用户保存JSON格式的字符串
Hash----------{username:“张三”,age:14}
package cn.itcast.demo1;
import org.junit.Test;
import redis.clients.jedis.Jedis;
Public class Demo1{
/**
*单实例链接redis数据库
*/
@Test
public viod run1(){
Jedis jedis = new Jedis("192.168.56.11",6379)
jedis.set("name","张三");
System.out.println(jedis.get("name"));
}
}
/**
* Jedis连接池
*/
@Test
public void run2(){
//1.设置连接池的配置对象
JedisPoolconfig config = new JedisPoolConfig();
//设置池中最大链接数【根据自己的实际情况和赢家配置情况来定最大连接数量】
config.setMaxTotal(500);//自己设置的最大连接数为500
//设置空闲时池中保有的最大连接数【根据自己的实际情况和赢家配置情况来定最大连接数量】
config.setMaxIdle(10);
//2.设置连接池对象(解决连接到台服务器或者服务器集群去)
JedisPool pool = new JedisPool(config,"192.168.56.11",6379);
//3.从池中获取连接对象
Jedis jedis = pool.getResource();
System.out.println(jedis.get("name"));
//4.连接归还池中(说得很通俗点就是某个应用需要写信息连接redis结束后把这个连接关闭,释放CPU、内存,以便其他用户连接redis集群)
jedis.close();
}
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisUtils{
//1.定义一个连接池对象
private final static JedisPool POOL;
static{
//初始化操作
//1.设置连接池的配置对象
JedisPoolconfig config = new JedisPoolConfig();
//设置池中最大链接数【根据自己的实际情况和赢家配置情况来定最大连接数量】
config.setMaxTotal(500);//自己设置的最大连接数为500
//设置空闲时池中保有的最大连接数【根据自己的实际情况和赢家配置情况来定最大连接数量】
config.setMaxIdle(10);
//2.设置连接池对象
POOL= new JedisPool(config,"192.168.56.11",6379);
}
/**
*从池中获取连接
*/
public static Jedis getJedis(){
return POOL.getResource();
}
}
1)1分钟内修改了1万次
2)5分钟内修改了10万次
3)15分钟内修改了1次
优点:
劣势:
AOF:append only file 详细见:https://redisbook.readthedocs.io/en/latest/internal/aof.html
What:可以一次执行多个命令,本质是一组命令的集合。一个事务的所有命令都会序列化,按顺序地串行化执行执行而不会被其他命令插入,不许加塞。
How:一个队列中,一次性、顺序性、排他性的执行一系列命令行。
1.事务的命令展示:
2.执行命令显示结果: