redis数据结构
字符串类型 string
- 存储:set key value
- 获取:get key
- 删除:del key
- 存储并设置过期时间:setex key second value
哈希类型 hash
- 存储:hset key field value
- 获取指定field的值:hget key field
- 获取所有field的值:hgetall
- 删除:hdel key field
列表类型 list (允许重复)
- 添加
- lpush key value:将元素加入列表左边
- rpush key value:将元素加入列表右边
- 获取
- lrange key start end :范围获取
- 删除
- lpop key:删除列表最左边的元素,并将列表返回
- rpop key:删除列表最右边的元素,并将元素返回
集合类型 set (不允许重复)
- 存储:sadd key value
- 获取:smembers key:获取set集合中所有元素
- 删除:srem key value:删除set集合中的某个元素
有序集合类型 sortedset
- 存储:zadd key score value
- 获取:zrange key start end [withscores]
- 删除:zrem key value
常用命令
-
查看所有的key:keys *
-
查看key的类型:type keyname
-
删除指定的key-value:del key
redis持久化
RDB
默认方式,不需要进行配置,默认就使用这种机制
-
在一定的间隔时间中,检测key的变化情况,然后持久化数据
-
编辑redis.windows.conf文件
save 900 1:15分钟后如果至少有1个key发生改变就持久化一次
save 300 10:5分钟后如果至少有10个key发生改变就持久化一次
save 60 10000:1分钟后如果至少有10000个key发生改变就持久化一次
-
重新启动 redis服务器,并指定配置文件名称
-
AOF
日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据
-
编辑redis.windows.conf文件
-
appendonly no(关闭aof) --> appendonly yes(开启aof)
-
取值
- appendfsync always:每一次操作都进行持久化
- appendfsync everysec(默认):每隔一秒进行一次持久化
- appendfsync no:不进行持久化
-
-
重新启动 redis服务器,并指定配置文件名称
java的redis客户端jedis
jedis的基本使用
-
导入jedis及其依赖的jar包commons-pool2-2.3.jar,jedis-2.7.0.jar
-
Jedis jedis = new Jedis("localhost", 6379);
-
jedis.set(key,value);
-
释放资源 jedis.close();
jedis连接池
//配置连接池
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(50);//最大连接数
config.setMaxIdle(10);//最大空闲数
//创建jedis连接池
JedisPool pool = new JedisPool(config,"localsoht",6379);
//从连接池中获取连接
Jedis jedis = pool.getResource();
//操作
jedis.set(key,value);
//释放资源
jedis.close();