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




posted @ 2019-11-18 23:26  纪宇-年华  阅读(...)  评论(...编辑  收藏