一、Redis常用命令
reids-cli 进入redis
auth <password> 验证redis密码
keys * 查看当前库中的所有key
exists key 判断某个key是否存在
type key 查看key的类型
del key 删除指定的key数据
flushdb 清空数据库
二、Redis常用数据类型
- String字符串
set key value 添加键值对
get key 获取对应key的值
append key value 将给定的value追加到原值的末尾
strlen key 获得值的长度
incr key 将key中存储的数字值加1
decr key 将key中存储的数字值减1
incrby/decrby key <步长> 将key中储存的数字值增减
mset k1 value1 k2 value2 同时设置多个键值对
mget k1 k2 同时取得多个value值
- List列表
lpush key v1 v2 v3 从左边插入一个或多个值
lpop key 从左边弹出一个或多个值
llen key 获得列表的长度
lindex key <index> 按照索引index获取元素
lrange key <start> <stop> 获取索引范围内的元素
-Set集合
sadd key v1 v2 v3 将一个或多个member元素加入到集合key中
smembers key 取出该集合的所有值
sismember key value 判断集合中是否有该value值
scard key 返回该集合的元素个数
srem key value 从集合key中删除该value值
spop key 从集合key中随机弹出一个元素
srandmember key <n> 从集合key中随机取出n个元素,不会删除
-Hash哈希
eg:
hset user:1001 id 1 存入单个field
hset user:1001 name zhangsan
hget user:1001 id 取出单个field
hmset user:1002 id 2 name lisi age 30 存入多个field
hkeys user:1001 查看user的所有field
hvals user:1001 查看user的所有值
·ZSet
zadd topn 200 java 300c++ 400 mysql 将一个或多个 member 元素及其 score 值加入到有序集 key 当中
zrange topn 0 -1 withscores 返回有序集 key 中,下标在<start><stop>之间的元素
三、Jedis的使用
//操作string
@Test
public void demo1()
{
Jedis jedis = new Jedis("192.168.213.128",6379);
jedis.auth("314159");
jedis.set("name","lucy");
String name = jedis.get("name");
System.out.println(name);
Set<String> keys = jedis.keys("*");
for (String key:keys)
{
System.out.println(key);
}
}
//操作list
@Test
public void demo2()
{
Jedis jedis = new Jedis("192.168.213.128",6379);
jedis.auth("314159");
jedis.lpush("key","lucy","mary","jack");
List<String> list = jedis.lrange("key", 0, -1);
System.out.println(list);
}
//操作set
@Test
public void demo3()
{
Jedis jedis = new Jedis("192.168.213.128",6379);
jedis.auth("314159");
jedis.sadd("nameonly","lucy","jack");
Set<String> names = jedis.smembers("nameonly");
System.out.println(names);
}
//操作hash
@Test
public void demo4()
{
Jedis jedis = new Jedis("192.168.213.128",6379);
jedis.auth("314159");
jedis.hset("user","age","20");
String string = jedis.hget("user", "age");
System.out.println(string);
}
//操作zset
@Test
public void demo5()
{
Jedis jedis = new Jedis("192.168.213.128",6379);
jedis.auth("314159");
jedis.zadd("zset",100d,"z1");
jedis.zadd("zset",200d,"z2");
Set<String> zset = jedis.zrange("zset", 0, -1);
System.out.println(zset);
}