zoukankan      html  css  js  c++  java
  • 初识Redis

    前言

    前两天看了看Redis,感觉是一个很好用的东西,记录一下。

    Redis简介

    • Redis支持数据持久化
    • 数据结构丰富
    • 支持数据的备份

    Redis的优势

    • 性能高
    • 数据类型丰富
    • 所有操作都是原子的
    • 丰富的特性

    Redis的安装

    我是在Centos 上安装的Redis。

    linux安装

    使用wgethttp://redis.io/download下载最新的文档版本:

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

    make运行完后,在redis-3.2.9的src下会出现编译后的redis服务程序redis-server和客户端程序redis-cli.

    启动redis服务:

    $ cd src
    $ ./redis-server
    

    这时运行的是默认的设置,可以通过指定参数来指定配置文件:

    $ ./redis-server redis.config
    

    启动redis客户端:

    $ cd src
    $ ./redis-cli
    

    Redis配置

    Redis数据类型

    Redis支持五种数据类型:string、hash、list、set和zset。

    String(字符串)

    string是redis最基本的类型,一个key对应一个value。
    string类型是二进制安全的,redis的string可以包含任何数据。
    一个键最大能存储512MB。

    redis 127.0.0.1:6379> SET name "runoob"
    OK
    redis 127.0.0.1:6379> GET name
    "runoob"
    

    Hash(哈希)

    Redis hash是一个键名对集合,是一个string类型field和value的映射表,特别适合存储对象。

    127.0.0.1:6379> HMSET user:1 username runoob password runoob points 200
    OK
    127.0.0.1:6379> HGETALL user:1
    1) "username"
    2) "runoob"
    3) "password"
    4) "runoob"
    5) "points"
    6) "200"
    

    List(列表)

    Redis list是简单的字符串列表,按照插入顺序排序。可以向列表头部或尾部添加元素。
    列表最多可以存储232 - 1个元素

    redis 127.0.0.1:6379> lpush runoob redis
    (integer) 1
    redis 127.0.0.1:6379> lpush runoob mongodb
    (integer) 2
    redis 127.0.0.1:6379> lpush runoob rabitmq
    (integer) 3
    redis 127.0.0.1:6379> lrange runoob 0 10
    1) "rabitmq"
    2) "mongodb"
    3) "redis"
    redis 127.0.0.1:6379>
    

    Set

    Set是string元素的无序集合,并且不允许重复。

    redis 127.0.0.1:6379> sadd runoob redis
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob mongodb
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 1
    redis 127.0.0.1:6379> sadd runoob rabitmq
    (integer) 0
    redis 127.0.0.1:6379> smembers runoob
    
    1) "rabitmq"
    2) "mongodb"
    3) "redis"
    

    Zset(sorted set:有序集合)

    Zset也是string元素的集合,并且也不能重复。
    不同的是Zset中每个元素会对应一个double的分数,zset会按照这个分数来排序。

    redis 127.0.0.1:6379> zadd runoob 0 redis
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 mongodb
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 rabitmq
    (integer) 1
    redis 127.0.0.1:6379> zadd runoob 0 rabitmq
    (integer) 0
    redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000
    
    1) "redis"
    2) "mongodb"
    3) "rabitmq"
    

    Redis命令

    在远程服务上执行命令

    $ redis-cli -h host -p port -a password
    

    但是想要远程连接需要先关闭安全模式或者设置密码(当然是设置密码比较好):

    CONFIG set protected-mode no
    
    CONFIG set requirepass password
    

    文档

    具体命令:http://www.redis.net.cn/order/

  • 相关阅读:
    消息中间件(一)MQ详解及四大MQ比较
    SIP协议
    PAT (Basic Level) Practice 1008 数组元素循环右移问题
    LeetCode-Algorithms 1. 两数之和
    PAT (Basic Level) Practice 1040 有几个PAT
    PAT (Basic Level) Practice 1023 组个最小数
    PAT (Basic Level) Practice 1021 个位数统计
    PAT (Basic Level) Practice 1007 素数对猜想
    PAT (Basic Level) Practice 1006 换个格式输出整数
    PAT (Basic Level) Practice 1004 成绩排名
  • 原文地址:https://www.cnblogs.com/FJH1994/p/7025978.html
Copyright © 2011-2022 走看看