redis入门

Redis入门

简介

​ Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。其主要特点有:

  • Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。(内存数据库)
  • 与其它键值数据存储相比,Redis有一组相对丰富的数据类型。
  • Redis可以将数据复制到任意数量的从机中。

​ 为啥我们要用redis,希望下面的优点能说服你:

  • 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。
  • 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
  • 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
  • 多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。

安装

  1. 官网下载最新stable(稳定)版。放到linux服务器上。

  2. 按照如下命令安装

    tar -zvxf redis-3.2.8.tar.gz  #解压安装包
    cd redis-3.2.8
    
    make   /#编译c源码(需要先安装gcc编译器)
    make PREFIX=/usr/local/redis install   #安装到指定目录下,一般Linux的软件习惯装载/usr/local下面
    
    cp redis.conf /usr/local/redis/ #复制解压目录下的配置文件到redis安装目录
    bin/redis-server redis.conf   #启动redis服务并指定配置文件
    ./redis-cli  #新开一个窗口并启动客户端
  3. 如果是远程主机连接的话

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

    将redis启动为后台服务(设置redis.conf并修改daemonize的值)

    daemonize yes          #设置为后天进程,默认为no

基本数据类型的操作

  • 字符串操作(详细操作可以参考官方文档或者教程

    Redis字符串命令用于管理Redis中的字符串值。以下是使用Redis字符串命令的基本语法:

    SET mykey "redis"      #设置key-value对
    ex:
    SET key value         #   此命令设置指定键的值。
    GET key                   #   获取指定键的值。
    GETRANGE key start end    #   获取存储在键上的字符串的子字符串。
    GETSET key value      #   设置键的字符串值并返回其旧值。

  • List操作(可以存在相同元素,如果需要不能存在相同元素则可以使用Set操作)

    在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。

    lpush list1 "forever"  #向list1中加入
    lpush list1 "cll"  #向list1中加入
    lpush list1 "wifi"  #向list1中加入
    LLEN key  #获取列表的长度
    LPOP key  #删除并获取列表中的第一个元素
    LPUSH key value1 [value2] #将一个或多个值添加到列表
    LPUSHX key value      #仅当列表存在时,才向列表添加值
    LRANGE key start stop #从列表中获取一系列元素
    LREM key count value  #从列表中删除元素
  • Hash操作

    Redis Hashes是字符串字段和字符串值之间的映射。 因此,它们是表示对象的完美数据类型。在Redis中,每个哈希(散列)可以存储多达4亿个键-值对。

    hset map1  name zs  #向map1的hash表中加入key-value
    HDEL key field2 [field2]  #删除一个或多个哈希字段。
    HEXISTS key field         #判断是否存在散列字段。
    HGET key field                #获取存储在指定键的哈希字段的值。
    HGETALL key                   #获取存储在指定键的哈希中的所有字段和值
  • Set操作

    Redis集合是唯一字符串的无序集合。 唯一值表示集合中不允许键中有重复的数据。在Redis中设置添加,删除和测试成员的存在(恒定时间O(1),而不考虑集合中包含的元素数量)。列表的最大长度为2^32 - 1个元素

    SADD myset "redis" #添加到set
    SMEMBERS "myset"   #获取myset所有元素
    SCARD key                         #获取集合中的成员数
    SDIFF key1 [key2]                 #   减去多个集合
    SDIFFSTORE destination key1 [key2]    #   减去多个集并将结果集存储在键中
    SINTER key1 [key2]                    #   相交多个集合
    SINTERSTORE destination key1 [key2]   #       交叉多个集合并将结果集存储在键中
    SISMEMBER key member              #   判断确定给定值是否是集合的成员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值