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/

  • 相关阅读:
    c++ socket发送数据时,sendData = char * string 导致的乱码问题
    c++ sprintf() 用法
    c++ 将float 类型转换成string 类型
    c++中 string类型 转为 char []类型
    c++ 去掉所有空格及换行符
    c++处理字符串string.find()与string::npos
    C1010 unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source
    C++ socket bind() 函数绑定错误
    windows 全局安装 composer
    VMware Tools (ubuntu系统)安装详细过程与使用
  • 原文地址:https://www.cnblogs.com/FJH1994/p/7025978.html
Copyright © 2011-2022 走看看