基础操作
启动
在 redis 所在目录,打开 cmd 然后输入 redis-server.exe redis.windows.conf 回车,tab可以补全
退出
ctrl + c
指定连接
redis-cli.exe -h localhost -p 6379,指定连接哪个地方、哪个端口
修改密码
去掉 # requirepass foobared 前面的 #
requirepass 123456 指定密码
redis-cli.exe -h localhost -p 6379 -a 123456
数据类型
字符串
普通字符串,Redis 中最简单的数据类型
哈希
也叫散列,类似 Java 中的 HashMap 结构
列表
按照插入顺序,可以有重复元素,类似于 Java 中的 LinkedList
集合
无序元素,没有重复元素,类似于 Java 中的 HashSet
有序集合
集合中每个元素关联一个分数,根据分数升序排序,没有重复元素
常用命令
字符串操作
set kye value 设置指定 key 的值
get key 获取指定 key 的值
setex key seconds value 设置指定 key 的值,并将 key 的过期时间设为 seconds 秒
setex key value 只有在 key 不存在时设置 key 的值
哈希操作
hast key field value 将哈希表 key 中的字段 field 的值设为 value
hget key field 获取存储在哈希表中指定字段的值
hdel key field 删除存储在哈希表中指定的字段
hkeys key 获取哈希表中所有字段
hvals key 获取哈希表中所有值
列表操作
lpush key value1 [value2] 将一个或多个值插入到列表头部
lrange key start stop 获取列表指定范围内的元素
rpop key 移除并获取列表最后一个元素
llen key 获取列表长度
集合操作
sadd key member1 [member2] 向集合添加一个或多个成员
smembers key 返回集合中的所有成员
scard key 获取集合的成员数
sinter key1 [key2] 返回给定所有集合的交集
sunion key1 [key2] 返回所有给定集合的并集
srem key member1 [member2] 删除集合中一个或多个成员
有序集合操作
zadd key score1 member1 [score2 member2] 向有序集合添加一个或多个成员
zrange key start stop [withscores] 通过索引区间返回有序集合中指定区间内的成员
zincrby key increment member 有序集合中对指定成员的分数加上增量 increment
zrem key member [member ...] 移除有序集合中的一个或多个成员
通用命令
keys pattern 查找所有符合给定模式的 key
exists key 检查给定 key 是否存在
type key 返回 key 所存储的值的类型
del key 该命令用于在 key 存在时删除 key
在Java中操作
java
/**
* 操作字符串类型数据
*/
@Test
public void testString(){
// set get setex setnx
redisTemplate.opsForValue().set("city", "北京");
String city = (String) redisTemplate.opsForValue().get("city");
System.out.println(city);
redisTemplate.opsForValue().set("code", "1234", 3, TimeUnit.MINUTES);
redisTemplate.opsForValue().setIfAbsent("lock", "1");
redisTemplate.opsForValue().setIfAbsent("lock", "2");
}
/**
* 操作哈希类型的数据
*/
@Test
public void testHash(){
HashOperations hashOperations = redisTemplate.opsForHash();
hashOperations.put("100", "name", "tom");
hashOperations.put("100", "age", "20");
String name = (String) hashOperations.get("100", "name");
System.out.println(name);
Set keys = hashOperations.keys("100");
System.out.println(keys);
List values = hashOperations.values("100");
System.out.println(values);
hashOperations.delete("100", "age");
}