安装包下载路径:https://redis.io/download
1.1 解压安装包
tar zxvf redis-5.0.4.tar.gz1.2 进入redis目录,执行make命令进行编译
cd redis-5.0.4 make1.3 编译成功后,执行如下命令启动server端
./src/redis-server1.4 克隆一个会话,执行如下命令启动client端
src/redis-cli1.5 通过set命令设置一个key=foo,对应的value="bar",并通过get命令获取
set foo bar get foo3.1 打开redis.conf配置文件,找到requirepass,然后修改口令为123456,将 bind 的IP改为0.0.0.0(此项配置是允许其他服务器访问到redis数据库)
vi redis.conf 修改内容如下: requirepass 123456 bind 0.0.0.03.2 带配置文件方式启动服务
./src/redis-server redis.conf3.3 使用口令登录客户端
./src/redis-cli -a 123456或者
./src/redis-cli 127.0.0.1:6379> auth 1234563.4 停止服务
./src/redis-cli -a 123456 shutdown4.1 新的统一请求协议的通用格式如下:
"*3\r\n$3\r\nSET\r\n$5\r\nmykey\r\n$7\r\nmyvalue\r\n" *3表示有3个参数; $3表示第一个参数长度为3 SET $5表示第二个参数长度为5 mykey $7表示第三个参数长度为7 myvalue综上,可以看出,单独写入一条数据工作量还是不怎么多,但是如果是一张表的数据,工作量就很多,而且重复。 所以从Redis 2.6开始redis-cli支持一种新的被称之为pipe mode的新模式可用于执行大量数据插入工作。
4.2 示例:将Oracle数据库Scott用户下emp表的empno, ename, job三个字段的所有信息迁移存放至 Redis 。
4.2.1 Oracle数据准备:将下面sql执行结果保存至scott_emp.txt中。
SELECT '*4\r\n' || '$' || LENGTH(redis_cmd) || '\r\n' || redis_cmd || '\r\n'|| '$' || LENGTH(redis_key) || '\r\n' || redis_key || '\r\n' || '$' || LENGTH(hkey) || '\r\n' || hkey || '\r\n'|| '$' || LENGTH(hval) || '\r\n' || hval || '\r\n' FROM ( SELECT 'HSET' as redis_cmd, 'emp' AS redis_key, empno AS hkey, empno || ':' || ename || ':'||job AS hval FROM emp );4.2.2 迁移数据至Redis,执行如下命令将scott_emp.txt中的数据导入redis数据库中:
echo -e "$(cat scott_emp.txt)" | redis-5.0.4/src/redis-cli --pipe4.2.3 登录客户端后,通过如下命令获取所有信息
hgetall emp使用jar包:jedis-2.9.0.jar
public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("192.168.246.130", 6379); jedis.auth("123456"); System.out.println("连接成功"); //查看服务是否运行 System.out.println("服务正在运行: "+jedis.ping()); System.out.println("redis 存储的字符串为: "+ jedis.get("foo")); System.out.println("redis 存储的字符串为: "+ jedis.hget("emp", "7369")); }Redis 命令参考
Redis 教程
最后,谢谢各位读者的耐心阅读,如有语句不通顺或者不准确的地方,大家也可以提提改善的意见!(^__^)
