安装Redis
Ctrl+c 停止服务
## String人
Append 如果key 存在,则直接可以在值后追加之,否则创建新的k-v
decr 自减
Set 赋值
Decrby 给自减设置步长
getRange 和Java中的subString 相似
incr自增
过期时间 key
Setnx 不会覆盖已经存在的值
setRange 覆盖一个已经存在的value
## List
lpush 表示将value的值从左向右的依次插入
Lrange 返回列表的范围数据
Rpush 从右往左
Rrange
Rpop 一处尾元素
Lpop 移除头元素
Lindex 返回index的元素
## Set
set里面的元素不能重复
Sadd 添加元素
Smembers 获取key下的所有元素
Srem 移除元素
返回一个成员是否在集合中
Sismember 返回成员是否在集合中
srandmember 随机返回的数字
Smove 把一个集合移到另一个集合中去
## Hash
Key是一个字符串,value是个key/value的键值对
批量设置时hmset hmget
Hdel 删除指定的一个field
Hdel
Hsetnx 如果key 和 field相同,就会覆盖调已有的value, hsetnx 则不会
Hvals 获取所有的value
Hkeys 获取所有的key
Hgetall 获取所有的kv
Hexists 返回field 是否存在
Hincrby 给指定的value自增1
Hincrbyfloat 自增浮点数
Hlen 返回key中value的数量
Hstrlen 返回field的字符长度
## Zset
将指定元素添加到有序集合中
Zscore 查看
返回score的值
Zrevrange 倒叙返回一组数据
Zcard 返回元素个数
Zrank 元素排名
## key 的操作
Del
删除一个key/value
Dump 序列化的key
Exists
判断是否存在
Ttl 查看key的有效期
Expire 设置有效期 如果key在过期之前,被set 后过期时间会失效
Persist
移除一个key的过期时间
Keys* 查找所有的key
补充
四种类型,在第一次使用,如果容器不存在,就自动创建一个
如果里边没有元素了,里么立即容器释放内存
## 开启远程链接
注销调 127.0.0.0
2开启密码校验
Ping 通了
## 连接池
在实际应用,jedis我们通过连接池来获取
由于Jedi是对象不是线程安全,所以我们使用redis对象时,从连接池获取jedis,使用过后,早归还给连接池
```java
publicclassJesdisPoolTest{
publicstaticvoidmain(String[]args){
//1构造jedis链接池
JedisPooljedisPool=newJedisPool("116.62.203.162",6379);
//2从连接池中获取链接
Jedisresource=jedisPool.getResource();
//jedis的操作jedis业务代码
Stringping=resource.ping();
System.out.println(ping);
//归还链接
resource.close();
}
}
```
当业务代码出错的时候 确保这个流关闭
```java
publicclassJesdisPoolTest{
publicstaticvoidmain(String[]args){
Jedisresource=null;
try{
JedisPooljedisPool=newJedisPool("116.62.203.162",6379);
//2从连接池中获取链接
resource=jedisPool.getResource();
//jedis的操作jedis业务代码
Stringping=resource.ping();
System.out.println(ping);
}catch(Exceptione){
e.printStackTrace();
}finally{
if(resource!=null){
//归还链接
resource.close();
}
}
}
}
```
1.7中的简洁的代码
安装Redis
Ctrl+c 停止服务
## String
Append 如果key 存在,则直接可以在值后追加之,否则创建新的k-v
decr 自减
Set 赋值
Decrby 给自减设置步长
getRange 和Java中的subString 相似
incr自增
过期时间 key
Setnx 不会覆盖已经存在的值
setRange 覆盖一个已经存在的value
## List
lpush 表示将value的值从左向右的依次插入
Lrange 返回列表的范围数据
Rpush 从右往左
Rrange
Rpop 一处尾元素
Lpop 移除头元素
Lindex 返回index的元素
## Set
set里面的元素不能重复
Sadd 添加元素
Smembers 获取key下的所有元素
Srem 移除元素
返回一个成员是否在集合中
Sismember 返回成员是否在集合中
srandmember 随机返回的数字
Smove 把一个集合移到另一个集合中去
## Hash
Key是一个字符串,value是个key/value的键值对
批量设置时hmset hmget
Hdel 删除指定的一个field
Hdel
Hsetnx 如果key 和 field相同,就会覆盖调已有的value, hsetnx 则不会
Hvals 获取所有的value
Hkeys 获取所有的key
Hgetall 获取所有的kv
Hexists 返回field 是否存在
Hincrby 给指定的value自增1
Hincrbyfloat 自增浮点数
Hlen 返回key中value的数量
Hstrlen 返回field的字符长度
## Zset
将指定元素添加到有序集合中
Zscore 查看
返回score的值
Zrevrange 倒叙返回一组数据
Zcard 返回元素个数
Zrank 元素排名
## key 的操作
Del
删除一个key/value
Dump 序列化的key
Exists
判断是否存在
Ttl 查看key的有效期
Expire 设置有效期 如果key在过期之前,被set 后过期时间会失效
Persist
移除一个key的过期时间
Keys* 查找所有的key
补充
四种类型,在第一次使用,如果容器不存在,就自动创建一个
如果里边没有元素了,里么立即容器释放内存
## 开启远程链接
注销调 127.0.0.0
2开启密码校验
Ping 通了
## 连接池
在实际应用,jedis我们通过连接池来获取
由于Jedi是对象不是线程安全,所以我们使用redis对象时,从连接池获取jedis,使用过后,早归还给连接池
```java
publicclassJesdisPoolTest{
publicstaticvoidmain(String[]args){
//1构造jedis链接池
JedisPooljedisPool=newJedisPool("116.62.203.162",6379);
//2从连接池中获取链接
Jedisresource=jedisPool.getResource();
//jedis的操作jedis业务代码
Stringping=resource.ping();
System.out.println(ping);
//归还链接
resource.close();
}
}
```
当业务代码出错的时候 确保这个流关闭
```java
publicclassJesdisPoolTest{
publicstaticvoidmain(String[]args){
Jedisresource=null;
try{
JedisPooljedisPool=newJedisPool("116.62.203.162",6379);
//2从连接池中获取链接
resource=jedisPool.getResource();
//jedis的操作jedis业务代码
Stringping=resource.ping();
System.out.println(ping);
}catch(Exceptione){
e.printStackTrace();
}finally{
if(resource!=null){
//归还链接
resource.close();
}
}
}
}
```
1.7中的简洁的代码