Redis的安装与基本使用

一、什么是Redis

  Redis(全称:Remote Dictionary Server 即远程字典服务),是一个nosql(即非关系型数据库)。其将数据保存在内存中,同时支持将内存数据持久化到硬盘,且同时支持多种数据结构(stringlistsetsorted sethash),相关参考文档:Redis中文文档。redis的常见使用场景:

  1. 登录会话存储
  2. 作为消息队列
  3. 一些常用数据的缓存
  4. 发布和订阅功能
二、Linux下的安装

 Redis只能安装运行在linux操作系统下,以下介绍在ubuntu系统下的使用。

  1. 安装:

    sudo apt-get install redis-server
    
  2. 卸载:

    sudo apt-get purge --auto-remove redis-server
    
  3. 启动:redis 安装后,默认会自动启动,可以通过以下命令查看:

    ps aux|grep redis
    

    若想手动改启动,可以使用:

    sudo service redis-server start
    
  4. 使用redis-cli连接redis-servser

    redis-cli -h [ip] -p [port]
    
  5. 停止:

    sudo service redis-server stop
    

三、常见操作

  操作 redis 数据库的方式有两种,一种是采用redis-cli工具,另一种是通过编程语言,比如PythonPHPJava等。

使用redis-cli对 redis 进行操作:

1.基本操作(字符串操作)
  1. 添加(会覆盖旧值):

    set key value
    # 如:
    set username wjiaman
    

    Redis会自动将value作为字符串存储,若要存储的字符串中含有空格,则需将要存储的内容用""括起来:

    set msg "hello world!"	
    
  2. 查找:

    get username
    
  3. 删除:

    del key
    # 如:
    del username
    
  4. 设置过期时间:

    expire key timeout(单位为秒)
    

    也可以在设置值的时候,一同指定过期时间:

    set key value EX timeout
    # 或
    setex key timeout value
    
  5. 查看过期时间:

    ttl key
    # 如:
    ttl username
    
  6. 查看当前所有的key

    keys *
    

2.列表操作
  1. 列表左边(表头)添加元素:

    lpush list value
    
  2. 列表右边(表尾)添加元素:

    rpush list value
    

    对于添加元素操作:若list不存在,则会创建一个列表;若`list``存在且不为列表,则返回一个错误。

  3. 查看元素:
    ①多个元素:

    lrange list start stop
    

    返回列表中指定区间的元素;若要返回所有元素,使用lrange list 0 -1

    ②单个元素:

    lindex list index
    

    返回表中索引为index的元素。

  4. 移除元素:

    # 移除并返回表头元素:
    lpop list
    
    # 移除并返回表尾元素:
    rpop list
    
    # 移除并返回表中多个元素:
    lrem list count value
    

    对于lrem key count value:移除表中count个值为value的值,count的取值可以为:

    • count>0:从表头向表尾搜索;
    • count=0:移除表中所有与value相等的值;
    • count<0:从表尾向表头搜索。
  5. 获取列表长度:

    llen list
    

3.集合操作
  1. 添加元素:

    sadd set value1,value2,...
    # 如:
    sadd team wjiaman1,wjiaman2
    
  2. 查看元素:

    smembers set
    # 如:
    smembers team
    
  3. 移除元素:

    srem set value1,value2,...
    # 如:
    srem team wjiaman1,wjiaman2,...
    
  4. 查看集合大小:

    scard set
    # 如:
    scard team
    
  5. 获取多个集合交集:

    sinter set1 set2
    # 如:
    sinter team1 team2
    
  6. 获取多个集合并集:

    sunion set1 set2
    # 如:
    sunion team1 team2
    
  7. 获取多个集合差集:

    sdiff set1 set2
    # 如:
    sdiff team1 team2
    

4.哈希操作
  1. 添加新值:

    hset tabel key value
    # 如:
    hset website baidu baidu.com
    

    将哈希表key中键key的值设为value
    若表table不存在,会创建新的哈希表。

  2. 获取表中键对应的值:

    hget table key
    # 如:
    hget website baidu
    
  3. 删除某个键值对:

    hdel table key
    # 如:
    hdel website baidu
    
  4. 获取表中所有的键值对:

    hgetall table
    # 如:
    hget website
    
  5. 获取表中所有的键:

    hkeys table
    # 如:
    hkeys website
    
  6. 获取表中所有的值:

    hvals table
    # 如:
    hvals website
    
  7. 判断表中是否存在某个键:

    hexists table key
    # 如:
    hexists website baidu
    
  8. 计算表中所有键值对:

    hlen table
    # 如:
    hlen website
    

5.事务操作

 事务操作即多个命令的集合,使用事务可以一次性执行多个命令。

  1. 开启一个事务:

    multi
    
  2. 执行事务:

    exec
    

    multiexec命令间的命令一并提交。

  3. 取消事务:

    discard
    

    取消multi后的所有命令。

  4. 监视一个或多个key(数据):

    watch key...
    

    若在事务执行之前这个(些)key被其他命令所改动,则事务将被打断。

  5. 取消所有key的监视

    unwatch
    

6.发布/订阅操作
  1. 给某个频道发消息:

    publish channel message
    
  2. 订阅某个频道的消息:

    subscribe channer
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值