• Redis的基本使用


    简介

    Redis是由意大利人开发的一款内存高速缓存数据库,是一个高性能的键值对(key- value)存储数据库
    Redis全称为: Remote Dictionary Server(远程数据服务),使用C语言编写,并以内存作为数据存储介质,所以读写数据的效率极高

    特性

    Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
    Redis不仅仅支持简单的key-value类型的数据,同时还把value分为list,set,zset,hash等数据结构存储
    因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率

    数据结构

    redis是key-value的数据结构,每条数据都是一个键值对

    键的类型是字符串,注意:键不能重复

    值的类型分为五种

    • String ------> 字符串
    • List ------> 列表
    • Hash ------> 哈希
    • Set ------> 集合
    • Zset ------> 有序集合

    基本使用

    连接redis:redis-cli

    退出:exit

    操作服务端:sudo service redis start/stop/restart

    切换数据库:select n

    • 数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

    五大数据类型使用

    全局key操作

    • 对redis的五个数据类型都适用的命令
    • 查看所有的key:keys *
    • 查看key的类型:type key
    • 改名:rename key new_key
    • 删除键值对:del key [key2 key3 ...]
      • exists key 查看key是否存在
    • 设置过期时间:expire key seconds
      • persist key 删除过期时间
      • ttl key 查看时间
        • -1:没设置过期时间
        • -2:不存在这个键

    String类型

    • string是redis最基本的类型,一个key对应一个value
    • 增加数据:set key value(如果key存在,则修改为新的value)
    • 查看数据:get key
    • 追加数据:append key value
    • 删除数据:del key

    List类型

    • List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据,在插入数据时,如果该键并不存在,Redis将为该键创建一个
    • 添加数据
      • 在末尾添加(列表右边):rpush key value1 [value2 ...]
      • 在头部添加(列表左边):lpush key value1 [value2 ...]
    • 查看数据
      • 下标范围:lrange key start stop
      • 指定下标:lindex key index
    • 修改数据:lset key index value
    • 删除数据
      • 从末尾删除(列表右边):rpop key
      • 从头部删除(列表左边):lpop key
      • 指定值删除:lrem key count(可以存在多个重复的值,指定value删除的次数) value

    Hash类型

    • hash类型的值是一个键值对集合,如:h_test : { field1:value1, field2:value2,...}
    • 添加数据:hset key field value
    • 查看域值:hget key field
    • 查看所有的field:hkeys key
    • 查看所有的value:hvals key
    • 查看所有的键值对:hgetall key

    Set类型

    • Set类型为无序的字符集合,元素具有唯一性, 不重复
    • 添加数据:sadd key member1 [member2 ...]
    • 查看数据:smembers key
    • 随机删除:spop key
    • 指定删除:srem key member1 [member2 ...]

    Sorted Set类型

    • 每一个成员都会有一个分数(score)与之关联,成员是唯一的,但是分数(score)却是可以重复的,比如把一个班级的学生分成几组
    • 添加数据: zadd key score member [score2 member2 …]
    • 查看数据
      • 根据索引:zrange key start stop
      • 根据score:zrangebyscore key min max
    • 删除数据
      • 根据值:zrem key member [member …]
      • 根据索引:zremrangebyrank key start stop
      • 根据score:zremrangebyscore key min max




  • 相关阅读:
    鸽巢原理
    springboot websocket sockjs 服务器推送 跨域问题 解决办法
    springboot打war包部署到外部Tomcat下
    springboot项目两种实现restful webservice的方法
    springboot扫描不到webservice
    JPA,Hibernate,ibatis(mybatis)如何选用?
    intellij自动生成实体类以及遇到的问题
    图片加载不出来时,设置默认默认图片
    图片上传预览
    利用layer实现表单完美验证
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11886395.html
Copyright © 2020-2023  润新知