一、redis的安装
1、下载redis的linux的安装包
wget http://download.redis.io/releases/redis-3.2.11.tar.gz
2、解压到linux目录中
tar -zxvf redis-3.2.11.tar.gz
3、编译安装
cd redis-3.2.11
make && make install
4、启动redis
redis-server
出现以下界面表示启动成功
或者利用linux进程查看是否启动,redis默认启动占用的是6379端口
ps -ef|grep redis
5、然后进入redis客户端进行数据操作
redis-cli
二、普通操作
- info 查看当前redis节点的详细配置信息
- ping 测试是否连通
- set test aaa 将test作为key,aaa作为值set进redis缓存中
- get test 获取key为test的value值
- keys * 查看所有的缓存
- select 1 设置当前redis以第一个数据库来进行存储,redis 默认有16个数据库,数据库从0开始递增
- exists test 判断key为test的key-value对是否存在
- del test 删除key为test的key-value对
- type test 查看test的具体类型,redis支持string(字符串)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)
- flushall 清空所有数据库
- flushdb 清空当前数据库
- incr/incrby 当redis的key的值是string类型的整数时,可进行value的递增操作
- set num 1
- incr num //num的值会递增1
- incrby num 3 //num的值会递增3
- decr/decrby 当redis的key的值是string类型的整数时,可进行value的递减操作
- append test ttt 向test的值尾部追加
- strlen key 获取字符串长度,返回数据的长度,如果键不存在则返回0。注意,如果键值为空串,返回也是0。
- mset/mget key value 【key value】同时设置多个值
- expire key seconds 用于设置缓存的生存时间,ttl key 查看当前缓存的生存时间
expire test 10 //则10秒之后test销毁
ttl test //当 key 不存在时,返回 -2 ;当 key 存在但没有设置剩余生存时间时,返回 -1 ; 否则以毫秒为单位,返回 key 的剩余生存时间。 - presist key 重新设置缓存的生存时间
2.1 高级之散列类型hash
- 散列类型存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他类型
- hset key field value [field value…] 设置对象(key)的属性
hget key field
- hmset和hmget设置和获取对象的多个属性
- hexists key field 判断对象的某个属性是否存在
- hdel key field 删除属性
- hkeys key 只获取属性名
hvals key 只获取属性值
- hexists key field 判断对象的某个属性是否存在
2.2 高级之list结构
一个列表最多可以包含2的32次方-1个元素,Redis的list类型其实就是一个每个子元素都是string类型的双向链表。
- lpush key value 在key对应list的头部添加字符串元素
- lpush testlist aaa
- rpush key value 在key对应list的尾部添加字符串元素
- rpush testlist bbb
- lrange key start stop 查看list
- lrange testlist 0 -1 查看testlist的所有元素
- del testlist 删除list
- lset 设置list中指定下标的元素值
- lset testlist 0 “one”
- linsert 在key对应list的特定位置之前或之后添加字符串元素
- lpop 从list的头部删除元素,并返回删除元素
- lpop testlist
- rpop 从list的尾部删除元素,并返回删除元素
- llen 返回key对应list的长度
- llen testlist
- index 返回名称为key的list中index位置的元素
- index testlist 2
三、Jedis
通过Jedis连接Java和Redis
public class TestRedis {
public static void main(String[] args) {
//设置连接服务器IP地址和访问端口
Jedis jedis = new Jedis("192.168.221.132",6379);
//单个值
jedis.set("test", "456789"); //设置值
System.out.println(jedis.get("test")); //获取值
//多个值
//jedis.mset("test1","1","test2","2");
List<String> list= jedis.mget("test1","test2");
for(String s : list){
System.out.println(s);
}
jedis.close(); //关闭
}
}