Redis简介
- Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
Redis特点
- 开源免费
- 存在缓冲(内存)中,查询速度快
- 可以存储 基本数据类型、对象 和 集合 等格式
- 不支持SQL
- 没有多表关系
- 不支持事务
- 存储格式为key-value格式
Redis数据类型及命令
-
string字符串类型
增:set key value
查:get key
删:del key -
hash哈希类型-Map
增:hset mapname key value
查:hget mapname key(查询所有:hgetall mapname)
删:hdel mapname key -
list列表类型-LinkedList
左增:lpush key value 右增:rpush key value
查:lrange key start end
左删:lpop key 右删:rpop key -
set集合类型
增:sadd key value
查:smembers key
删:srem key value -
sortedset有序集合类型
增:zadd key score value
查:zrange key start end / zrange key 0 -1 widthscore
删:zrem key value -
命令
查询所有键:keys *
获取键对应的value的类型:type key
删除指定key及value : del key
Redis的Java操作
- 导入jedis-2.9.0.jar
新建redis:Jedis jedis = new Jedis(“localhost”,6379)
关闭redis:jedis.close() - 导入commons-pool2-2.2.jar
新建redis连接池:JedisPoolConfig config = new JedisPoolConfig()
配置连接池:JedisPool jedisPool = new JedisPool(config,“localhost”,6379)
配置资源:Jedis jedis = jedisPool.getResource()
Redis的用途
适合不经常修改的数据的储存
适合需要快速访问的数据的储存