Redis是一个key-value存储系统。

Redis的出现,非常大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到非常好的补充作用

Redis是一个key-value存储系统。和Memcached相似。它支持存储的value类型相对很多其它,包含string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型支持push/pop、add/remove及取交集并集和差集及更丰富的操作,并且这些操作都是原子性的。在此基础上。redis支持各种不同方式的排序。

与memcached一样,为了保证效率。数据都是缓存在内存中。差别的是redis会周期性的把更新的数据写入磁盘或者把改动操作写入追加的记录文件。并且在此基础上实现了master-slave(主从复制)。

Memcache与Redis差别

Memcache提供的数据类型少。仅仅有键值对,Redis提供的数据类型相对较多

Memcache关机就没了,数据所有存到内存其中,可是没有提供故障恢复。Redis能够将数据存储到磁盘中

redis提供主从复制,Memcache无

Memcache是多线程的(使用协议解决的),redis是单线程

Windows下Redis的安装使用

1,安装Redis

官方下载:http://redis.io/download能够依据须要下载不同版本号

windows版:https://github.com/mythz/redis-windows

下载完毕后 能够右键解压到 某个硬盘下比方E:\redis64-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.24.215 -p 6379


4,利用JAVA操作Redis

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; import javax.sound.midi.Soundbank;
import java.util.*; public class RedisTest {
JedisPool pool;
Jedis jedis;
@Before
public void setUp() {
pool = new JedisPool(new JedisPoolConfig(), "192.168.24.215"); jedis = pool.getResource();
/* jedis.auth("password"); */
} /**
* Redis存储0基础的字符串
* CRUD
*/
@Test
public void testBasicString(){
//-----加入数据----------
jedis.set("name","hejingyuan");//向key-->name中放入了value-->hejingyuan
System.out.println(jedis.get("name"));//运行结果:hejingyuan //-----改动数据-----------
//1、在原来基础上改动
jedis.append("name","xvshu"); //非常直观,相似map 将xvshu append到已经有的value之后
System.out.println(jedis.get("name"));//运行结果:hejingyuanxvshu //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","hejingyuan");
* jedis.set("xvshu","何静媛");
*/
jedis.mset("name","hejingyuan","xvshu","何静媛");
System.out.println(jedis.mget("name","xvshu")); } }

输出结果:

hejingyuan

hejingyuanxvshu

何静媛

null

[hejingyuan, 何静媛]

结束语:

在操作过程中,Redis通过快照(snapshotting)方式默认保存到硬盘中,Redis默认会将快照文件存储在当前文件夹(可CONFIG GETdir来查看)的dump.rdb文件里,能够通过配置dir和dbfilename两个參数分别指定快照文件的存储路径和文件名称。

在我们操作Redis过程中,它也在不断的向硬盘中存储

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

java操作Redis的各种測试:http://flychao88.iteye.com/blog/1527163

【NoSql】Redis实践篇-简单demo实现(一)的更多相关文章

  1. 二维码扫码登录原理及简单demo

    扫码登录原理转载自: https://www.cnblogs.com/liyasong/p/saoma.html 需求介绍 首先,介绍下什么是扫码登录.现在,大部分同学手机上都装有qq和淘宝,天猫等这 ...

  2. NoSQL -- Redis使用

    NoSQl简介: ubuntun CTRL+alt+F1 图形切换到命令行 CTRL+alt+F7  命令行切换到图形界面 redis介绍 + 实践 Redis是什么? Redis 安装 edis是当 ...

  3. Redis的简单了解以及主从复制

    1.Redis的简单了解 Redis是一种高性能的分布式NoSql数据库,持久存储,高并发,数据类型丰富,通过现场申请内存空间,同时可以配置虚拟内存.五种数据类型:string(字符串,这种格式和me ...

  4. NoSQL&&Redis介绍

    再说Redis之前,想先说一下NoSQL.在最早的单机时代,随着数据的增加一台机器可能放不下了.同时索引占用的内存空间也会越来越大.对请求的读写操作影响很大.于是就在数据库之前增加了一层保护层 — 缓 ...

  5. 转载 NoSQL | Redis、Memcache、MongoDB特点、区别以及应用场景

    NoSQL | Redis.Memcache.MongoDB特点.区别以及应用场景 2017-12-12 康哥 码神联盟 本篇文章主要介绍Nosql的一些东西,以及Nosql中比较火的三个数据库Red ...

  6. 设计模式之单例模式的简单demo

    /* * 设计模式之单例模式的简单demo */ class Single { /* * 创建一个本类对象. * 和get/set方法思想一样,类不能直接调用对象 * 所以用private限制权限 * ...

  7. Spring的简单demo

    ---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...

  8. 使用Spring缓存的简单Demo

    使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...

  9. Managed DirectX中的DirectShow应用(简单Demo及源码)

    阅读目录 介绍 准备工作 环境搭建 简单Demo 显示效果 其他 Demo下载 介绍 DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染.交互式音乐和 ...

随机推荐

  1. 剑指offer 面试题38

    面试题38:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4. 主要的思路是进 ...

  2. POJ 2051 Argus

    Argus Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8782   Accepted: 3985 Description ...

  3. 【转】PhpStorm 提交代码到远程GitHub仓库

    转载地址:http://my.oschina.net/lujianing/blog/180728 1.下载github for window http://windows.github.com/ 2. ...

  4. 【Luogu】P4358密钥破解(Pollard Rho)

    题目链接 容易发现如果我们求出p和q这题就差不多快变成一个sb题了. 于是我们就用Pollard Rho算法进行大数分解. 至于这个算法的原理,emmm 其实也不是很清楚啦 #include<c ...

  5. NOJ——1624死胡同(胡搞模拟)

    [1624] 死胡同 时间限制: 1000 ms 内存限制: 65535 K 问题描述 一个死胡同由排成一列的 n 个格子组成,编号从 1 到 n .实验室的“猪猪”一开始在1号格子,开始向前走,每步 ...

  6. 刷题总结——math(NOIP模拟)

    题目: 给定两个数字n,求有多少个数字b满足a^b和b^a同余于2^n,其中n<=30,a<=10^9, 题解: 挺巧妙的一道题···从中深深体会到打表的重要性··· 首先根据ab奇偶性分 ...

  7. LineageOS源码定制手机系统

    LineageOS源码定制手机系统 导语: 现在市场的手机基本就两种:  苹果机和android机. 今天我们不谈苹果机, 对小编我来讲,那是个奢侈品, android是我的最爱.对于一般androi ...

  8. 学习 JSP:第二步 创建一个JSP Web Project

    接上文 学习 JSP:第一步Eclipse+Tomcat+jre(配置环境) [创建新工程](Dynamic Web Project) 1.选择 "File-->New-->Dy ...

  9. 【CF721C】Journey(拓扑排序,最短路,DP)

    题意:给一个无环的图,问用不超过T的时间从1到n最多可以经过多少个点.要求输出一条路径. 思路:因为无环,可以用DP做.不过因为时间最短的原因要拓扑排序后再DP,目测由底向上的更新也是可以的. ; . ...

  10. C#中IPAddress类/Dns类/IPHostEntry类/IPEndPoint用法简介

    C#中IPAddress类/Dns类/IPHostEntry类/IPEndPoint用法简介 IP是一种普遍应用于因特网.允许不同主机能够相互找到对方的寻址协议.IP地址由4个十进制的数字号码所组成, ...