Redis入门

来源:互联网 发布:淘宝收藏加购有什么用 编辑:程序博客网 时间:2024/06/03 21:50

**

第一章:NoSQL的概述

**
什么是NoSQL:
(1):NoSQL = Not Only SQL
(2):非关系型数据库

为什么使用NoSQL:
(1):High performance - 高并发读写
(2):Huge Storage - 海量数据的高效率存在和访问
(3):High Scalability && High Availablity 高扩展性和高可用性

NoSQL数据库的四大分类:
(1):键值(Key - Value)存储
(2):列存储
(3):文档数据库
(4):图形数据库

NoSQL的特性:
(1):易扩展
(2):大数据量,高性能
(3):灵活的数据模型
(4):高用性

第二章:Redis概述

高性能键值对数据库,支持的键值数据类型:
(1):字符串类型
(2):列表类型
(3):有序集合类型
(4):散列类型
(5):集合类型

Redis的应用场景
(1):缓存
(2):任务队列
(3):应用排行榜
(4):网站访问统计
(5):数据过期处理
(6):分布式集群结构中的session分离

第三章:Redis的安装和使用

Window下安装
(1):下载地址 https://github.com/MSOpenTech/redis/releases

(2):Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。

(3):打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。

如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

Linux 下安装
(1):下载地址:http://redis.io/download

(2):使用的最新文档版本为 2.8.17,下载并安装

$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz$ tar xzf redis-2.8.17.tar.gz$ cd redis-2.8.17$ make

(3):make完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
下面启动redis服务.

$ cd src$ ./redis-server

(4):注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。

$ cd src$ ./redis-server redis.conf

(5):redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:

$ cd src$ ./redis-cliredis> set foo barOKredis> get foo"bar"

第四章:Jedis的入门

Jedis介绍

(1):Jedis是Redis官方首选的Java客户端开发包

(2):https://github.com/xetorthio/jedis

import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class RedisDemo {    public static void demo1() {        // 1:设置ip和端口        Jedis jedis = new Jedis("127.0.0.1", 6379);        // 2:保存数据        jedis.set("name", "张三");        // 3:获取数据        String value = jedis.get("name");        System.out.println(value);        // 4:释放资源        jedis.close();    }    public static void demo2() {        // 获取连接池配置对象        JedisPoolConfig config = new JedisPoolConfig();        // 设置最大连接数据        config.setMaxTotal(30);        // 设置最大空闲连接数        config.setMaxIdle(10);        // 获得连接池        JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379);        // 获得核心对象        Jedis jedis = null;        try {            // 通过连接池获得连接            jedis = jedisPool.getResource();            // 设置数据            jedis.set("username", "李四");            // 获取数据            String value = jedis.get("username");            System.out.println(value);        } catch (Exception e) {            e.printStackTrace();        } finally {            if (jedis != null) {                jedis.close();            }            if (jedisPool != null) {                jedisPool.close();            }        }    }}

第五章:Redis的数据类型

五种数据类型
(1):字符串(String)
(2):字符串列表(list)
(3):有序字符串集合(sorted set)
(4):哈希(hash)
(5):字符串集合(set)

Key定义的注意点
(1):不要过长
(2):不要过短
(3):统一的命名规范

存储String
(1):二进制安全的,存入和获取的数据相同
(2):Value最多可以容纳的数据长度是512M

存储String常用命令
(1):赋值 — set key value
(2):删除 — del key
(3):扩展命令 — incrby key value 和 decrby key calue
(4):取值 — get key
(5):数值增减 — incr key decr key

存储Hash
(1):String Key和String Value的map容器
(2):每一个Hash可以存储4294967295个键值对

存储Hash常用命令
(1):赋值 — hset key field value 和 hmset key filed value [field value …]
(2):删除 — hdel key field [field …]
(3):自学命令
(4):取值 — hget key field 和 hmget key field [field …]
(5):增加数字

存储list常用命令
(1):两端添加 — lpush key value [value …] 和 rpush key value [value …]
(2):两端弹出 — lpop key 和 rpop key
(3):查看列表 — lrange key start stop
(4):获取列表元素 —
(5):扩展命令

第六章:Keys的通用操作
第七章:Redis的特性
第八章:Redis的持久化

原创粉丝点击