介绍

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
redis的优点是:
异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。  
支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。  
操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。  
多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。

安装

1 yum方式
yum install epel-release  # 安装epel-release库
yum install redis         # 安装redis
systemctl start redis [centos7下] /etc/rc.d/init.d/redis start [centos6下] 
redis-server /etc/redis.conf # 带配置文件启动
vim /etc/redis.conf

bind 127.0.0.1 改为 bind 0.0.0.0  # 开启远程访问
requirepass yourpasswd # 设置访问密码

redis-cli -h host -p port -a password # 客户端访问
推荐使用桌面工具Redis Desktop Manager
下载地址为:https://redisdesktop.com/download
2 源码安装
yum group install "Development Tools"
wget http://download.redis.io/releases/redis-3.0.3.tar.gz
tar zxf redis-3.0.3.tar.gz
cd redis-3.0.3
make
make install
cd utils/
./install_server.sh

Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli


redis.conf requirepass 修改密码
cd src/
./redis-server # 启动
./redis-cli -p 6379 -a passwd # 客户端登陆

redis简单命令

1 检测是否在工作
127.0.0.1:6379> ping
PONG

2 获取配置
语法格式:CONFIG GET CONFIG_SETTING_NAME
127.0.0.1:6379> config get *    # 获取所有配置
  1) "dbfilename"
  2) "dump.rdb"
....

3 编辑配置
语法格式:CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
127.0.0.1:6379>

4 数据类型
    a 字符串 Redis中的字符串是一个字节序列
    127.0.0.1:6379> set name 'lyon'
    OK
    127.0.0.1:6379> get name
    "lyon"
    
    b 散列/哈希 Redis散列/哈希(Hashes)是键值对的集合。Redis散列/哈希是字符串字段和    字符串值之间的映射。因此,它们用于表示对象。
    HMSET ukey username "lyon" password "123" points 200

    c Redis列表是字符串列表,按插入顺序排序。
    127.0.0.1:6379> lpush mylist memcached
    (integer) 1
    127.0.0.1:6379> lpush mylist redis
    (integer) 2
    127.0.0.1:6379> lpush mylist mongodb
    (integer) 3
    127.0.0.1:6379> lpush mylist sqlite
    (integer) 4
    127.0.0.1:6379> lrange mylist 0 5
    1) "sqlite"
    2) "mongodb"
    3) "redis"
    4) "memcached"
    
    d 集合
    Redis集合是字符串的无序集合,集合具有唯一属性
    127.0.0.1:6379> sadd list2 memcached
    (integer) 1
    127.0.0.1:6379> sadd list2 redis
    (integer) 1
    127.0.0.1:6379> sadd list2 redis
    (integer) 0
    127.0.0.1:6379> smembers list2
    1) "redis"
    2) "memcached"
    
    e 可排序集合
    Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复。
    127.0.0.1:6379> zadd myset 1 redis
    (integer) 1
    127.0.0.1:6379> zadd myset 2 memcached
    (integer) 1
    127.0.0.1:6379> zadd myset 2 memcached
    (integer) 0
    127.0.0.1:6379> ZRANGEBYSCORE myset 0 100
    1) "redis"
    2) "memcached"

EngineerLeo
598 声望38 粉丝

专注于云原生、AI等相关技术