一.什么是Redis
“Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库(重点他是个数据库)。
二.Redis的安装与启动(linux系统下的安装(Ubuntu))
- 因为Redis使用c语言编写因此需要安装c语言的编译环境:apt-get install build-essential libtool gcc automake autoconf make
- 安装Redis:sudo apt-get update sudo apt-get install redis-server
- 启动服务 进入安装目录,cd bin 启动服务:./redis-server 连接上Redis: ./redis-cli -h ip地址
三.Redis中value的五种基本类型
1.hash(哈希类型,key-value)。 2.set(set集合类型,无序)。 3.list(list集合类型)。 4.String(字符串类型)。 5.sortedSet(与set类似,但是可以通过设置分数,来自动排序)。
四.Redis常用命令
- 查看Redis连接状态 ping(回应pong为连接状态)
- String类型的常用命令 set key值 value值(设置数据) get key值 (获取该key值的value值) incr key1(如果没有改key值,新增一key值为key1键值对value默认为0,并且自增1。如果有该key值,value自增 1。且value必须为int类型才能自增)
decr key1(如果没有改key值,新增一key值为key1键值对value默认为0,并且自减1。如果有该key值,该key对 应的value值自减1)
del key1(删除该key值所对应的键值对) keys *(查看所有key值) - hash类型常用的命令 hset key值 hash中key值 hash中value值 hkeys key值(查询该key值对应的hash类型的value值中所有key值)
hvals key值(查询该key值对应的hash类型的value值中的所有value值)
hgetall key值(查询所有key值对应的hash类型的value值中的所有键值对)
hdel key值 hash类型的value值中的key值(删除该key值中的所对应的键值对) - list类型 lpush key值 1 2 3 4 5 6(设置list类型的值的键值对数据数据,从左往进加值,最左边是6)
rpush key值 a b c d e f(设置list类型的值的键值对数据数据,从右往进加值,最左边是a)
lrange key值 0 -1(查询该键值中的所有值)
lpop key值(删除该键值对的最左边的值)
rpop key值(删除该键值对的最右边的值) - set类型 sadd key值 a b c d e(设置set类型值的键值对)
srem key值 a (删除该key值多对应值中的a)
smembers key值(查询出该key值所对应的所有值)
sdiff key1值 key2值(查询出两个键值对中所有值的差集)
sinter key1值 key2值(查询出两个两个键值对中所有值的交集)
sunion key1值 key2值(查询出两个两个键值对中所有值的并集) - sortedSet zadd key值 1 a 3 b 5 d 2 c(设置sortedSort类型值的减值对,每个值必须配一个分数,通过分数排序)
zrange key值 0 -1(查询所有该key值所对应的值,正序后结果)
zrem key值 a(删除该key值对应value值中的a)
zrevrange key值 0 -1(查询所有该key值所对应的值,倒序后结果)
zrevrange key值 0 -1 withscores(查询所有该key值所对应的值和分数,正序后结果) - 设置key的过期时间 expire kye值 100(设置key值的过期时间为100秒,100秒后删除该键值对)
ttl key1(查看该key值过期时间,如果有该key值,显示正数。没有该key值,显示-2.该key值永久保存的时候,显示-1)
五。java中通过Jedis来操作Redis
1.在工程中导入Jedis的jar包 2.操作(我这里通过Jedis连接池来获取Jedis连接)
public void testJedisPool()throws Exception{
//创建一个连接对象,两个查宿host,port
JedisPool jedisPool=new JedisPool("192.168.25.128", 6379);
//从连接池获得一个连接,也就是一个Jedis的对象
Jedis jedis=jedisPool.getResource();
//使用jedis操作redis
String string = jedis.get("test123");
System.out.println(string);
//关闭连接,每次使用完关闭连接,连接池回收资源。
jedis.close();
//关闭连接池。
jedisPool.close();
}
}