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客户端操作命令
存储string: set key value
127.0.0.1:6379> set username zhangsan
获取string: get key
127.0.0.1:6379> get username删除string: del key
127.0.0.1:6379> del age存储hash: hset key field value
127.0.0.1:6379> hset myhash username lisi
127.0.0.1:6379> hset myhash password 123获取hash:
hget key field: 获取指定的field对应的值
127.0.0.1:6379> hget myhash username
hgetall key:获取所有的field和value
127.0.0.1:6379> hgetall myhash
删除hash: hdel key field
127.0.0.1:6379> hdel myhash username
添加list:
lpush key value: 将元素加入列表左边
127.0.0.1:6379> lpush myList a
rpush key value:将元素加入列表右边
127.0.0.1:6379> rpush myList c
获取list:
lrange key start end :范围获取
127.0.0.1:6379> lrange myList 0 -1
删除list:
- lpop key: 删除列表最左边的元素,并将元素返回
- rpop key: 删除列表最右边的元素,并将元素返回
存储set:sadd key value
127.0.0.1:6379> sadd myset a
获取set:smembers key:获取set集合中所有元素
127.0.0.1:6379> smembers myset
删除set:srem key value:删除set集合中的某个元素
127.0.0.1:6379> srem myset a
存储sortedset:zadd key score value
127.0.0.1:6379> zadd mysort 60 zhangsan
获取sortedset:zrange key start end [withscores]
127.0.0.1:6379> zrange mysort 0 -1
删除sortedset:zrem key value
127.0.0.1:6379> zrem mysort lisi
keys * : 查询所有的键
type key : 获取键对应的value的类型
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文件。