一、Redis概述

1、什么是NoSql 

  NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它泛指非关系型的数据库。

  随着互联网2003年之后web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的交友类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。

  Web1.0:强调读,基本上没有写操作。 官网、个人博客、新闻网站,政府类网站。。。

  Web2.0:着重强调写。 论坛,贴吧,购物商城等。

  Web3.0: 物联化、智能化。。

2、分类

  网址:http://www.nosql-database.org/

  Redis和Memcached都是key-value类型的Nosql。

3、Redis是什么?

  Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库)数据保存在内存中

  Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合

4、Redis 的优点

1、数据保存在内存,存取速度快,并发能力强

2、它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合)和hash(哈希类型)。

3、redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。

4、它提供了Java,C/C++,C#,PHP,JavaScript等客户端,使用很方便。

5、Redis支持集群(主从同步)。数据可以主服务器向任意数量从的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。

6、支持持久化,可以将数据保存在硬盘的文件中。

7、支持订阅/发布(subscribe/publish)功能例如: QQ群。

5、Mysql、Memcached和Redis的比较

二、应用

1、安装 Redis 服务端

  Redis 的官方下载: http://redis.io/download

windows下的安装和使用

1、下载redis程序软件。

  使用 redisbin32 或 redisbin64。

2、绿色软件,不需要安装,直接解压使用。

3、启动redis服务(带配置文件启动,和不带配置文件启动)。

4、连接到redis进行操作

a、右键启动
  b、命令启动

5、基本用法

6、开发手册

2、Redis 操作

1、使用redis-cli 客户端操作 redis

1、对 value 为 string 类型的常用操作

  set key value //将字符串值value关联到key

  get key //返回key关联的字符串值

  mset //同时设置一个或多个 key-value 对

  mget //返回所有(一个或多个)给定 key 的值

  incr key //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)

  decr key //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)

  incrBy key //自增多少

  decrBy key

2、对 key 的常用操作

  keys *  //获取所有key列表

  del key  //删除key

  expire key xx //设置key的过期时间(xx秒后过期)

  ttl key //查看key的过期时间

  flushall //清空整个redis服务器数据,所有的数据库全部清空

  flushdb  //清除当前库,redis中默认有16个数据库,名称分别为0,1,2.。。15

3、对list集合的常用操作

list集合可以看成是一个左右排列的队列(列表)

lpush key value //将一个或多个值 value 插入到列表 key 的表头(最左边)

rpush key value //将一个或多个值 value 插入到列表 key 的表尾(最右边)

2、java 操作 Redis

1、准备jar包

  下载官网:https://redis.io/clients#java

2、使用

  在一秒钟内的操作数。

 package com.redis_study.test;

 import redis.clients.jedis.Jedis;

 /**
* @author zt1994 2018/3/20 10:02
*/
public class RedisTest { /**
* 测试一秒之内操作次数
* @param args
*/
public static void main(String[] args) {
//1.创建连接
Jedis jedis = new Jedis("localhost", 6379);
int i = 0;
//开始时间
long start = System.currentTimeMillis();
while (true){
long end = System.currentTimeMillis(); if (end - start >= 1000)break; jedis.set("test" + i, i +"");
i++;
}
System.out.println(i);
}
}

redis 学习(一)的更多相关文章

  1. Redis学习手册(目录)

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  2. redis 学习笔记(6)-cluster集群搭建

    上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...

  3. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  4. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

  5. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

  6. Redis学习笔记~目录

    回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...

  7. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  8. Redis学习笔记1-Redis的介绍和认识

    说明:文章内容来自百度百科和redis官方对redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API ...

  9. Redis学习笔记7--Redis管道(pipeline)

    redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...

  10. 分布式缓存技术redis学习系列(五)——redis实战(redis与spring整合,分布式锁实现)

    本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...

随机推荐

  1. “全栈2019”Java异常第八章:throw关键字详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  2. jzoj3511

    设f[i][j][k] 表示第i行状态为j i+1行将要被放为状态k的最优解 每次枚举这行和上一行的状态来dfs,注意细节 不合法的状态会直接被赋值成为inf

  3. 如何到python模块路径linux

    执行命令whereis python即可显示出python相关的所有的路径,包括可执行文件路径,安装路径等,该方法适用于大部分类似的场景抄自百度知道

  4. Elastic Search 5.x Nest Multiple Queries C#

    I'm using C# with those nuget packeges; <package id="Elasticsearch.Net" version="5 ...

  5. Linux 中排除掉筛选的文件

    以下命令以网站目录www为例做介绍,有时候更新网站的时候需要保留比如图片目录,或者其他目录就需要这样的操作 实例一: 删除文件夹内所有文件只保留一个文件命令 [root@linuxzgf www]# ...

  6. jmeter - jp@gc - Active Threads Over Time(多台负载用户)

    问题: 线程数设置:30,远程启动2台机子 查看 jp@gc - Active Threads Over Time图,发现只统计了1台机子的线程数,线程数并不是60: 解决办法: 官方文档中提到: 1 ...

  7. Spring 事务相关点整理

    Spring和事务的关系 关系型数据库.某些消息队列等产品或中间件称为事务性资源,因为它们本身支持事务,也能够处理事务. Spring很显然不是事务性资源,但是它可以管理事务性资源,所以Spring和 ...

  8. Linux之Ubuntu系统安装搜狗输入法

    如何在Ubuntu系统中安装搜狗输入法? 1.第一步  下载搜狗输入法文件for Linux 2.检查更新 update 如果没有更新的话,需要做这一步 3.语言支持 选择fcitx,然后关闭界面 4 ...

  9. Python之scrapy框架之post传输数据错误:TypeError: to_bytes must receive a unicode, str or bytes object, got int

    错误名:TypeError: to_bytes must receive a unicode, str or bytes object, got int 错误翻译:类型错误:to_bytes必须接收u ...

  10. HQL的使用和limit的替代

    1.HQL不同于SQL,from必须是项目中table反转后对应的class的名字. 2.如何使用参数生成HQL语句: String hql = "from User where userI ...