【基础知识】_Redis

Redis

NOSQL

NOSQL就是非关系型数据库,这种数据库中数据的存储格式主要是key-value形式、文档形式、图片形式等等;而关系型数据库只支持基础数据类型,并且以表的形式存储。

非关系型数据库不支持sql这样的工业标准语言,每一种不同的NOSQL的操作语法不一样。

主流NOSQL产品

  • 键值对存储数据库,比如Redis,数据模型即为一系列键值对。
  • 列存储数据库,以列簇式存储,将同一列数据存在一起。
  • 文档型数据库,比如MongoDB,数据模型也是一些连键值对。
  • 图形(Graph)数据库,数据模型为图结构。

Redis支持的键值数据类型

redis中存储的都是键值对,其中key的数据类型只能是字符串,value可以是以下五种类型数据。

  • string

  • hash(哈希)

    其实就是map格式,使用哈希类型作为value就表示,value本身又是一系列键值对。

  • list

    linkedlist格式,支持重复元素。

  • set

    linkedlist格式,不允许重复元素。

  • sortset(有序集合)

    linkedlist格式,不允许重复元素,且元素有顺序。每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。

Redis客户端操作命令

  1. 存储string: set key value

    127.0.0.1:6379> set username zhangsan

  1. 获取string: get key
    127.0.0.1:6379> get username

  2. 删除string: del key
    127.0.0.1:6379> del age

  3. 存储hash: hset key field value
    127.0.0.1:6379> hset myhash username lisi
    127.0.0.1:6379> hset myhash password 123

  4. 获取hash:

    • hget key field: 获取指定的field对应的值

      127.0.0.1:6379> hget myhash username

    • hgetall key:获取所有的field和value

      127.0.0.1:6379> hgetall myhash

  5. 删除hash: hdel key field

    127.0.0.1:6379> hdel myhash username

  6. 添加list:

    • lpush key value: 将元素加入列表左边

      127.0.0.1:6379> lpush myList a

    • rpush key value:将元素加入列表右边

      127.0.0.1:6379> rpush myList c

  7. 获取list:

    • lrange key start end :范围获取

      127.0.0.1:6379> lrange myList 0 -1

  8. 删除list:

    • lpop key: 删除列表最左边的元素,并将元素返回
    • rpop key: 删除列表最右边的元素,并将元素返回
  9. 存储set:sadd key value

    127.0.0.1:6379> sadd myset a

  10. 获取set:smembers key:获取set集合中所有元素

    127.0.0.1:6379> smembers myset

  11. 删除set:srem key value:删除set集合中的某个元素

    127.0.0.1:6379> srem myset a

  12. 存储sortedset:zadd key score value

    127.0.0.1:6379> zadd mysort 60 zhangsan

  13. 获取sortedset:zrange key start end [withscores]

    127.0.0.1:6379> zrange mysort 0 -1

  14. 删除sortedset:zrem key value

    127.0.0.1:6379> zrem mysort lisi

  15. keys * : 查询所有的键

  16. type key : 获取键对应的value的类型

  17. del key:删除指定的key value

Jedis

Jedis是一款使用java语言操作redis数据库的工具jar包,方便我们通过java语言操作redis数据库中的数据。

使用步骤
  • 下载Jedis的jar包
  • 获取redis数据库连接:Jedis jedis = new Jedis(“localhost”,6379);
  • 关闭连接:jedis.close();
操作命令

具体操作命令见pdf文件。

JedisPool

JedisPool是Jedis连接池对象,具体使用方法见pdf文件。