image.png

    image.png
    image.png
    https://redis.io/

    http://download.redis.io/releases/redis-5.0.8.tar.gz

    解压:

    tar -zxvf redis-5.0.8.tar.gz

    分配器设置到环境变量:
    make MALLOC=libc

    make install

    cd /usr/local/bin
    image.png
    运行:
    redis-server

    更改redis.conf:
    将daemon设置为yes。 daemon 意思是后台进程,设置为yes后就可以启动服务后,在任意地方用命令使用它了。

    cp redis.conf /etc

    启动redis,参数为conf文件:
    redis-server redis.conf

    image.png
    杀进程:
    kill -9 进程id

    加入到service中:
    进入到utils文件夹l;
    image.png
    运行 install_server.sh
    然后进行一系列参数配置;
    image.png

    停止服务:
    service redis_6379 stop

    删除:
    rm /var/run/redis_6379.pid

    启动服务:
    service redis_6379 start

    开机启动:
    systemctl enable redis_6379

    使用:
    redis-cli

    5种数据结构:

    image.png

    redis配置文件:
    image.png

    应用:
    redis-cli -h 127.0.01 -p 6379
    (h为host)

    string类型:
    set hello world
    get hello
    del hello

    List类型:(不唯一)
    rpush list item1 (list为key的名字)
    rpush list item2
    rpush list item3
    lrange list 0 -1 (读取从左边0个开始,一直到最后)
    lindex list 0 (按下标读取)
    lpop list

    Set类型:(唯一性)
    sadd set item1 (往set里添加一条记录)
    sadd set item2
    sadd set item3
    sismember set item4 (是否是其成员)
    srem set item2 (移除)
    smembers set (set的所有成员)

    Hash:(无序)
    hset hash subkey1 value1
    hset hash subkey2 value2
    hgetall hash
    hget hash subkey1
    hdel hash subkey2

    zset: (唯一)
    zadd zset 988 member0
    zadd zset 756 member1
    zrange zset 0 -1
    zrange zset 0 -1 withscores
    zrem zset member1

    image.png

    新建项目:
    1) npm init
    2) npm install redis -D

    node下连接redis:
    先检查服务器端端口是否打开,没有打开则打开;
    firewall-cmd —list-port
    firewall-cmd —add-port=6379/tcp —permanent
    firewall-cmd —reload

    关闭redis的protection mode:
    到配置文件关闭保护模式;

    下载windows下redis:
    https://github.com/microsoftarchive/redis/releases

    incr age: age 自增1;
    decr age: age 自减
    decrby age 10: age 自减 10

    redis:
    内存非关系数据库,所有数据都在内存中,读取速度很快,但对内存的消耗比较大,可以设置它的save条件来将数据保存在磁盘中。
    作为服务器缓存,从属数据库。

    expire: 还可以设置它的过期时间。

    还可以设置backup。

    数据保存在:
    /var/lib/redis/dump.rdb

    代码示例:

    1. const redis = require('redis');
    2. const client = redis.createClient(6379, '192.168.1.2');
    3. console.log(client);
    4. //字符串操作
    5. var res = client.set('name','david',(err,data)=>{
    6. console.log(err,data); // data: ok
    7. });
    8. client.get(name, (err,data) => {
    9. console.log(err,data);
    10. });
    11. const cb = (err,data) => {
    12. console.log(err,data);
    13. };
    14. client.set('age', 20, cb);
    15. client.get('age', cb);
    16. // list
    17. //右侧推入
    18. client.rpush('friends','David','Jim',cb);
    19. client.lrange('friends', 0, -1, cb);
    20. //左侧推入
    21. client.lpush('friends','Lake','Pig',cb);
    22. client.lrange('friends', 0, -1, cb);
    23. //右侧弹出,左侧弹出 rpop lpop
    24. //index
    25. client.lindex('friends',1,cb);
    26. // 裁剪
    27. client.ltrim('friends',1,2,cb);
    28. // set
    29. client.sadd('ids',1,2,cb);
    30. client.smembers('ids',cb);
    31. client.srem('ids',2,cb);

    书籍推荐:
    redis实战