zoukankan      html  css  js  c++  java
  • redis 学习(一)

    一、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、使用

      在一秒钟内的操作数。

     1 package com.redis_study.test;
     2 
     3 import redis.clients.jedis.Jedis;
     4 
     5 /**
     6  * @author zt1994 2018/3/20 10:02
     7  */
     8 public class RedisTest {
     9 
    10     /**
    11      * 测试一秒之内操作次数
    12      * @param args
    13      */
    14     public static void main(String[] args) {
    15         //1.创建连接
    16         Jedis jedis = new Jedis("localhost", 6379);
    17         int i = 0;
    18         //开始时间
    19         long start = System.currentTimeMillis();
    20         while (true){
    21             long end = System.currentTimeMillis();
    22 
    23             if (end - start >= 1000)break;
    24 
    25             jedis.set("test" + i, i +"");
    26             i++;
    27         }
    28         System.out.println(i);
    29     }
    30 }
  • 相关阅读:
    HLS Coding Style: Hardware Efficient C Code
    HLS Coding Style: Arrays and Data Types
    HLS Coding Style: Unsupported C Constructs
    HLS Optimization: Latency V.S. Throughput
    HLS Optimization: Pipeline V.S. Unroll
    HLS Coding Style: Functions and Loops
    HLS Optimization: Latency
    HLS Optimization: Throughput
    hive常见报错
    Neo4j 第三篇:Cypher查询入门
  • 原文地址:https://www.cnblogs.com/zt19994/p/8607844.html
Copyright © 2011-2022 走看看