zoukankan      html  css  js  c++  java
  • 非关系型数据库---Redis

    • 开源(BSD协议)使用C语言编写,基于内存存储,支持持久化,高性能key-value的NoSQL数据库
    • 支持数据结构类型丰富,字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets与范围查询,bitmaps,hyperloglogs和地理空间(geospatial)索引半径查询。
    • 支持丰富的主流语言的客户端,C ,C++ ,python,Erlang, C# ,R,java,PHP,Go等
    • 用途:缓存,数据库,消息中间件
    • 官方网站:https://redis.io/


    Redis-5.0.0

    Redis 安装

    第一步:下载安装包并解压

    wget http://download.redis.io/releases/redis-5.0.0.tar.gz
    
    tar -zxvf redis-5.0.0.tar.gz
    

    第二步:下载编译安装的依赖gcc gcc-c++

    yum install gcc gcc-c++ -y
    

    第三步:编译安装

    cd redis-5.0.0 
    make
    cp src/redis-server /usr/bin/
    cp src/redis-cli /usr/bin/
    

    任意路径下使用命令

    cp src/redis-server /usr/bin/ 
    cp src/redis-cli /usr/bin/
    

    redis配置文件参数:

    bind 127.0.0.1					#对外提供链接的地址
    port 6379					#默认端口号
    daemonize no					#守护进程(如果是yes后台运行)
    databases 16					#(redis数据库用0,1,2,3....代表)
    save 900 1					#每900秒有1次增删改操作就同步到磁盘当中
    dbfilename dump.rdb				#rdb备份方式的文件名字(默认开启)
    dir ./						#备份文件存放位置
    appendonly no					#aof备份是否开启(默认不开启)
    appendfilename "appendonly.aof"			#aof备份文件名称
    appendfsync everysec				#aof同步机制,每秒同步到磁盘当中
    

    启动redis

    第一步:修改配置文件(守护进程,后台运行释放终端)

    ╭─root@localhost.localdomain ~/redis-5.0.0  
    ╰─➤  vim redis.conf 
    ...
    daemonize yes
    ...
    

    第二步:启动命令:

    ╭─root@localhost.localdomain ~/redis-5.0.0  
    ╰─➤ redis-server redis.conf
    

    第三步:连接redis-server

    redis-cli -p 6379 -h 127.0.0.1
    

    简单操作

    切换数据库:

    select 2
    

    字符串

    作用 内容 实例
    添加: set key value set username balabala
    删除: del key del username
    设置过期时间 set key value EX timeout setex key timeout value
    查看过期时间 ttl key ttl username
    查看当前redis所有的key keys *

    列表

    作用 内容
    在列表左边添加元素: lpush key value
    在列表右边添加元素: rpush key value
    查看列表中的元素: lrange key start stop
    移除并返回列表key的头元素: lpop key
    移除并返回列表的尾元素: rpop key
    指定返回第几个元素: lindex key index
    获取列表中的元素个数: llen key
    删除指定的元素: lrem key count value

    集合

    作用 内容 实例
    添加元素: sadd set value1 value2.... sadd team xiaotuo datuo
    查看元素: smembeers set smembers team
    移除元素: srem set member... srem team xiaotuo datuo
    查看集合中的元素个数: scard set scard team1
    获取多个集合的交集: sinter set1 set2 sinter team1 team2
    获取多个集合的并集: sunion set1 set2 sunion team1 team2
    获取多个集合的差集: sdiff set1 set2 sdiff team1 team2

    哈希

    作用 内容 实例
    添加一个新值: hset key field value hset website baidu baidu.com
    获取哈希中的field对应的值: hget key field hget website baidu
    删除field中的某个field: hdel key field hdel website baidu
    获取某个哈希中所有的field和value: hgetall key hgetall website
    获取某个哈希中所有的field: hkeys key hkeys website
    获取某个哈希中所有的值: hvals key hvals website
    判断哈希中是否存在某个field: hexists key field hexists website baidu
    获取哈希中总共的键值对: hlen field hlen website

    事物操作:

    Redis事务可以一次执行多个命令,事务具有以下特征:

    事务 内容
    隔离操作 事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰。
    原子操作 事务中的命令要么全部被执行,要么全部都不执行。
    开启一个事务 multi
    提交事务 exec
    回滚事务 discard

  • 相关阅读:
    numpy 基础 —— np.linalg
    图像旋转后显示不完全
    opencv ---getRotationMatrix2D函数
    PS1--cannot be loaded because the execution of scripts is disabled on this system
    打开jnlp Faild to validate certificate, the application will not be executed.
    BATCH(BAT批处理命令语法)
    oracle vm virtualbox 如何让虚拟机可以上网
    merge 实现
    Windows batch,echo到文件不成功,只打印出ECHO is on.
    python2.7.6 , setuptools pip install, 报错:UnicodeDecodeError:'ascii' codec can't decode byte
  • 原文地址:https://www.cnblogs.com/du-z/p/11179413.html
Copyright © 2011-2022 走看看