Windows下Redis的安装使用
Redis是一个key-value存储系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。本文中,作者分享了在Windows下进行安装和使用Redis的技巧。
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括 string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是 原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性 的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave。
前言
因为是初次使用,所以是在windows下进行安装和使用,参考了几篇博客,下面整理一下:
安装Redis
官方网站:http://redis.io/
官方下载:http://redis.io/download 可以根据需要下载不同版本
windows版:https://github.com/mythz/redis-windows
github的资源可以ZIP直接下载的(这个是给不知道的同学友情提示下)。
下载完成后 可以右键解压到 某个硬盘下 比如D:\Redis\redis-2.6。
在D:\Redis\redis-2.6\bin\release下 有两个zip包 一个32位一个64位。
根据自己windows的位数 解压到D:\Redis\redis-2.6 根目录下。
2.启动Redis
进入redis目录后 开启服务 (注意加上redis.conf)
- redis-server.exe redis.conf
这个窗口要保持开启 关闭时redis服务会自动关闭
redis会自动保存数据到硬盘 所以图中是我第二次开启时 多了一个 DB loaded from disk
3.测试使用
另外开启一个命令行窗口 进入redis目录下 (注意修改自己的ip)
- redis-cli.exe -h 192.168.10.61 -p 6379
4.Java开发包Jedis
Jedis :http://www.oschina.net/p/jedis (Redis的官方首选Java开发包)
- 1<!--Redis -->
- 2<dependency>
- 3<groupId>redis.clients</groupId>
- 4<artifactId>jedis</artifactId>
- 5<version>2.0.0</version>
- 6<type>jar</type>
- 7<scope>compile</scope>
- 8</dependency>
测试例子原帖:http://flychao88.iteye.com/blog/1527163
- package com.lujianing.utils;
- import org.junit.Before;
- import org.junit.Test;
- import redis.clients.jedis.Jedis;
- import redis.clients.jedis.JedisPool;
- import redis.clients.jedis.JedisPoolConfig;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- /**
- * Created by lujianing on 14-2-28.
- */
- public class JedisUtilTest {
- JedisPool pool;
- Jedis jedis;
- @Before
- public void setUp() {
- pool = new JedisPool(new JedisPoolConfig(), "192.168.10.61");
- jedis = pool.getResource();
- // jedis.auth("password");
- }
- @Test
- public void testGet(){
- System.out.println(jedis.get("lu"));
- }
- /**
- * Redis存储初级的字符串
- * CRUD
- */
- @Test
- public void testBasicString(){
- //-----添加数据----------
- jedis.set("name","minxr");//向key-->name中放入了value-->minxr
- System.out.println(jedis.get("name"));//执行结果:minxr
- //-----修改数据-----------
- //1、在原来基础上修改
- jedis.append("name","jarorwar"); //很直观,类似map 将jarorwar append到已经有的value之后
- System.out.println(jedis.get("name"));//执行结果:minxrjarorwar
- //2、直接覆盖原来的数据
- jedis.set("name","闵晓荣");
- System.out.println(jedis.get("name"));//执行结果:闵晓荣
- //删除key对应的记录
- jedis.del("name");
- System.out.println(jedis.get("name"));//执行结果:null
- /**
- * mset相当于
- * jedis.set("name","minxr");
- * jedis.set("jarorwar","闵晓荣");
- */
- jedis.mset("name","minxr","jarorwar","闵晓荣");
- System.out.println(jedis.mget("name","jarorwar"));
- }
- /**
- * jedis操作Map
- */
- @Test
- public void testMap(){
- Map<String,String> user=new HashMap<String,String>();
- user.put("name","minxr");
- user.put("pwd","password");
- jedis.hmset("user",user);
- //取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
- //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
- List<String> rsmap = jedis.hmget("user", "name");
- System.out.println(rsmap);
- //删除map中的某个键值
- // jedis.hdel("user","pwd");
- System.out.println(jedis.hmget("user", "pwd")); //因为删除了,所以返回的是null
- System.out.println(jedis.hlen("user")); //返回key为user的键中存放的值的个数1
- System.out.println(jedis.exists("user"));//是否存在key为user的记录 返回true
- System.out.println(jedis.hkeys("user"));//返回map对象中的所有key [pwd, name]
- System.out.println(jedis.hvals("user"));//返回map对象中的所有value [minxr, password]
- Iterator<String> iter=jedis.hkeys("user").iterator();
- while (iter.hasNext()){
- String key = iter.next(); System.out.println(key+":"+jedis.hmget("user",key));
- }
- }
- /**
- * jedis操作List
- */
- @Test
- public void testList(){
- //开始前,先移除所有的内容
- jedis.del("java framework");
- System.out.println(jedis.lrange("java framework",0,-1));
- //先向key java framework中存放三条数据
- jedis.lpush("java framework","spring");
- jedis.lpush("java framework","struts");
- jedis.lpush("java framework","hibernate");
- //再取出所有数据jedis.lrange是按范围取出,
- // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
- System.out.println(jedis.lrange("java framework",0,-1));
- }
- /**
- * jedis操作Set
- */
- @Test
- public void testSet(){
- //添加
- jedis.sadd("sname","minxr");
- jedis.sadd("sname","jarorwar");
- jedis.sadd("sname","闵晓荣");
- jedis.sadd("sanme","noname");
- //移除noname
- jedis.srem("sname","noname");
- System.out.println(jedis.smembers("sname"));//获取所有加入的value
- System.out.println(jedis.sismember("sname", "minxr"));//判断 minxr 是否是sname集合的元素
- System.out.println(jedis.srandmember("sname"));
- System.out.println(jedis.scard("sname"));//返回集合的元素个数
- }
- @Test
- public void test() throws InterruptedException {
- //keys中传入的可以用通配符
- System.out.println(jedis.keys("*")); //返回当前库中所有的key [sose, sanme, name, jarorwar, foo, sname, java framework, user, braand]
- System.out.println(jedis.keys("*name"));//返回的sname [sname, name]
- System.out.println(jedis.del("sanmdde"));//删除key为sanmdde的对象 删除成功返回1 删除失败(或者不存在)返回 0
- System.out.println(jedis.ttl("sname"));//返回给定key的有效时间,如果是-1则表示永远有效
- jedis.setex("timekey", 10, "min");//通过此方法,可以指定key的存活(有效时间) 时间为秒
- Thread.sleep(5000);//睡眠5秒后,剩余时间将为<=5
- System.out.println(jedis.ttl("timekey")); //输出结果为5
- jedis.setex("timekey", 1, "min"); //设为1后,下面再看剩余时间就是1了
- System.out.println(jedis.ttl("timekey")); //输出结果为1
- System.out.println(jedis.exists("key"));//检查key是否存在 System.out.println(jedis.rename("timekey","time"));
- System.out.println(jedis.get("timekey"));//因为移除,返回为null
- System.out.println(jedis.get("time")); //因为将timekey 重命名为time 所以可以取得值 min
- //jedis 排序
- //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
- jedis.del("a");//先清除数据,再加入数据进行测试
- jedis.rpush("a", "1");
- jedis.lpush("a","6");
- jedis.lpush("a","3");
- jedis.lpush("a","9");
- System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
- System.out.println(jedis.sort("a")); //[1, 3, 6, 9] //输入排序后结果
- System.out.println(jedis.lrange("a",0,-1));
- }
- }
Redis会定时 保存数据到硬盘上
【编辑推荐】
相关推荐
"HFSS软件包下的圆锥(圆形)喇叭天线模型制作与参数调整:自主创造,实验验证,全流程教程指导",HFSS圆锥(圆形)喇叭天线 天线模型,自己做的,附带结果,可改参数,HFSS软件包 (有教程,具体到每一步,可以自己做出来) ,HFSS; 圆锥(圆形)喇叭天线; 模型自制; 参数可改; HFSS软件包; 教程详尽。,HFSS圆锥喇叭天线模型:可自定义参数与结果
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
"基于S7-200 PLC与组态王技术构建的智能化新能源汽车电池检测系统上位机软件平台",基于S7-200plc与组态王组态的新能源汽车电池检测系统上位机 ,S7-200plc;组态王组态;新能源汽车电池检测系统;上位机,"基于PLC与组态王的汽车电池检测上位机系统"
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
nodejs010-nodejs-docs-0.10.5-8.el6.centos.alt.x86_64.rpm
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
“基于Cadence Orcad的全面元器件数据库管理系统——全配版与基础版对比分析”,搭建使用Cadence Orcad CIS元器件数据库(默认为Access数据库,如需MySQL数据库需提前沟通),含orcad符号库,Allegro PCB库 —————————————————— 该元器件数据库种类丰富,大分类就有28种(全配版,含有很多如海思,全志,瑞芯微,TI,Xilinx等主流复杂IC的库信息),20种(基础版)。 ———————————————————— 全配版包含1000多种元器件属性信息汇总,都是已验证使用过的,可直接用于自己的电路设计。 全配版还附有大部分与元器件PCB封装已匹配好的的3D模型。 强烈建议原理图库及封装库基于数据库的方式来管理,好处主要有以下几点: 1. 易于管理,可通过数据库文件批量添加、更改或删除器件参数; 2. 减少原理图库的种类, 同类器件只需要新建一次原理图库, 例如不同阻值、精度的电阻; 3. 器件具有唯一性, 每个器件的参数都是唯一的; 4. 方便使用, 如使用 Link Database Part 功能,可以快速完成器件批量替,
1、文件内容:ptlib-devel-2.10.10-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ptlib-devel-2.10.10-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
西门子S7-1200+5轴伺服驱动系统的走工艺对象技术解析——采用脉冲输出驱动方式的控制方法及在全博途V15.1程序中的应用研究。,S7-1200+5轴伺服 走工艺对象 脉冲输出驱动方式 适用于西门子s7-1200+第三方伺服驱动器 全套博途v15.1程序 ,S7-1200;5轴伺服;走工艺对象;脉冲输出驱动方式;第三方伺服驱动器;博途v15.1程序,西门子S7-1200 5轴伺服系统控制程序
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
《四层三列堆垛式立体库控制系统:带解释的梯形图接线原理图及IO分配与组态画面详解》,4x3堆垛式立体库4层3列四层三列书架式立体库控制系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,立体库; 堆垛式; 控制系统; 梯形图; 接线图; 原理图; IO分配; 组态画面,"立体库控制系统原理图:四层三列堆垛式书架的IO分配与组态画面"
1、文件内容:pyOpenSSL-0.13.1-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pyOpenSSL-0.13.1-4.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
基于三菱PLC与MCGS技术的防盗门报警系统:梯形图接线图原理及IO分配、组态画面详解,基于三菱PLC和MCGS的防盗门报警器 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,三菱PLC; MCGS; 防盗门报警器; 梯形图接线图; IO分配; 组态画面,基于三菱PLC与MCGS的报警器系统:梯形图接线与组态画面详解
"COMSOL金膜表面等离子共振(SPR)分析:不同入射角下的共振角度观察",comsol金膜表面等离子共振SPR,不同入射角查看共振角度 ,关键词:comsol金膜表面;等离子共振(SPR);不同入射角;共振角度;分离度;角度调节;材料表面光;生物传感;互动现象;实时分析,"COMSOL研究金膜表面等离子共振: 角度变化影响共振角度"
1. 机器学习与深度学习 机器学习是人工智能的核心领域,旨在通过数据训练模型,使计算机能够从经验中学习和改进。监督学习、无监督学习和强化学习是其主要分支,广泛应用于图像识别、语音处理和预测分析等场景。深度学习作为机器学习的重要子领域,通过神经网络模拟人脑的工作机制,尤其在图像分类、自然语言处理和自动驾驶等领域取得了突破性进展。深度学习模型如卷积神经网络(CNN)和循环神经网络(RNN)已成为许多AI应用的基础。 2. 自然语言处理与计算机视觉 自然语言处理(NLP)使计算机能够理解、生成和处理人类语言,关键技术包括机器翻译、语音识别、情感分析和问答系统。例如,智能助手(如Siri、Alexa)和聊天机器人(如ChatGPT)都依赖于NLP技术。计算机视觉则让计算机能够“看懂”图像和视频,广泛应用于人脸识别、自动驾驶、医疗影像分析等领域。目标检测、图像分割和视频分析等技术正在推动安防、零售和制造业的智能化转型。 3. 强化学习与AI伦理 强化学习通过试错和奖励机制,训练智能体在复杂环境中做出最优决策,广泛应用于游戏AI(如AlphaGo)、机器人控制和资源调度等领域。与此同时,随着AI技术的快速发展,AI伦理和社会影响也成为重要研究方向。如何确保AI的公平性、透明性和隐私保护,以及应对AI对就业和社会结构的潜在影响,已成为学术界和产业界共同关注的焦点。AI的可持续发展离不开技术与伦理的平衡。
不同放牧策略对草原土壤性质的影响研究——基于机器学习.pdf
本资源提供一种基于Proteus仿真的纯硬件NE555呼吸灯设计方案,结合NE555定时器、三极管(如2N2222或8050)、电阻、电容等元件,完整实现LED的呼吸灯效果。内容包括: Proteus仿真模型搭建:电路原理图设计、虚拟示波器波形分析; 硬件实现步骤:元件选型、焊接调试、实测波形对比; 参数调优方法:通过仿真快速调整RC参数控制呼吸频率与渐变平滑度。 目标: 掌握Proteus中NE555电路仿真技巧; 理解硬件电路与仿真模型的匹配性; 学习从虚拟仿真到实物落地的全流程设计; 培养故障排查与参数优化能力。 核心功能: 仿真验证:在Proteus中模拟NE555的PWM输出及LED亮度渐变效果; 硬件实现:通过三极管驱动电路将仿真结果转化为实物呼吸灯; 双向调试:支持仿真与硬件实测数据对比,快速定位设计问题。 关键模块: NE555无稳态多谐振荡器(控制占空比渐变); Proteus虚拟示波器(观测PWM波形变化); 三极管电流放大电路(驱动高亮度LED)。 设计亮点 虚实结合:通过Proteus仿真降低硬件试错成本,提升学习效率。
,全c源程序太阳能并网逆变器全C源程序单相3kw5kw,板图原理图清单,可以直接打板验证,超好的生产光伏逆变器的技术方案,量产方案
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx