文章目录
一、Redis概述
1. 基本概念
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
2. Redis的优点
- 1、数据模型比较简单; redis
- 2、需要灵活性更强的IT系统;nosql 效率高
- 3、对数据库性能要求较高; nosql
- 4、不需要高度的数据一致性;nosql 数据一致性支持弱,弱化事务
二、Redis安装
- 安装gcc
yum install -y gcc
- 解压Redis安装包
tar -zxvf redis-xxx-xxx -C /redisDir
- 编译
make
- 安装
make install PREFIX=/usr/redis
- 启动
./redis-server ../redis.conf
三、Redis使用
1.1 shell基本操作
清空数据库
- 清空当前的库
FLUSHDB
- 清空全部的库
FLUSHALL
删除给定的一个或多个key
语法 :
DEL key [key ...]
检查给定key 是否存在
语法:
EXISTS key
查找所有符合给定模式pattern 的key
KEYS *
匹配数据库中所有key 。
KEYS h?llo
匹配hello ,hallo 和hxllo 等。
KEYS h*llo
匹配hllo 和heeeeello 等。
KEYS h[ae]llo
匹配hello 和hallo ,但不匹配hillo 。
特殊符号用 \ 隔开
当前数据库的key 移动到给定的数据库DB
语法 :
MOVE key db
将key 改名为newkey
语法 :
RENAME key newkey
返回key所储存的值的类型
语法 :
TYPE key
1.2 五种数据类型shell操作
a. String类型的操作——key:value
命令 | 说明 |
---|---|
set | 设置一个key/value |
get | 根据key获得对应的value |
b. Redis的List类型操作
命令 | 说明 |
---|---|
lpush | 将某个值加入到一个key列表头部 |
lpushx | 同lpush,但是必须要保证这个key存在 |
rpush | 将某个值加入到一个key列表末尾 |
rpushx | 同rpush,但是必须要保证这个key存在 |
lpop | 返回和移除列表的第一个元素 |
rpop | 返回和移除列表的第一个元素 |
lrange | 获取某一个下标区间内的元素 |
llen | 获取列表元素个数 |
c. Redis的SET类型操作
命令 | 说明 |
---|---|
sadd | 为集合添加元素 |
smembers | 显示集合中所有元素 无序 |
scard | 返回集合中元素的个数 |
spop | 随机返回一个元素 并将元素在集合中删除 |
smove | 从一个集合中向另一个集合移动元素 |
srem | 从集合中删除一个元素 |
sismember | 判断一个集合中是否含有这个元素 |
d. Redis的ZSET类型的操作
命令 | 说明 |
---|---|
zadd | 添加一个有序集合元素 |
zcard | 返回集合的元素个数 |
zrange | 返回一个范围内的元素 |
zrangebyscore | 按照分数查找一个范围内的元素 |
zrank | 返回排名 |
zrevrank | 倒序排名 |
zscore | 显示某一个元素的分数 |
zrem | 移除某一个元素 |
zincrby | 给某个特定元素加分 |
e. Redis的HASH类型的操作
命令 | 说明 |
---|---|
hset | 设置一个key/value对 |
hget | 获得一个key对应的value |
hgetall | 获得所有的key/value对 |
hdel | 删除某一个key/value对 |
hexists | 判断一个key是否存在 |
hkeys | 获得所有的key |
hvals | 获得所有的value |
2. Java API
依赖
在项目中导入redis的驱动jar jedis的jar包和commons-pools的jar包即可