栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Redis 笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis 笔记

Redis 笔记 启动Redis

1.先找到redis.conf当前目录
再输入redis-server liconfig/redis.conf来运行redis
2.输入redis-cli -p 6379进入命令
3.输入ping

操作Redis String命令
set name li #设置key value
get name   ##获得value
keys *   ##获得所有key
EXISTS name  #判断该key是否存在
move  name 1 #移动当前的key到1库
del name ## 删除当前key 
EXPIRE name 10 #倒计时删除key  当前为10s
ttl name  #可以当前key的剩余时间,当为-2的时候,即被删除
type name #查看当前key的类型
APPEND name hello #往当前key的value后面追加hello,如果当前key不存在,则会自动添加一个key,相当于set
set age 10
incr age  #让age+1
incrby age 1
decr age  #让age-1
decrby age 1
getrange name 0 3 #截取字符串
setrange name 1 xx #改变指定下角标字符为xx
setex(set with expire) #设置key并附带过期时间
setex name 30 li 
setnx(set if not exist) #该key不存在则设置,如果存在则不会设置成功
mset k1 v1 k2 v2 k3 v3#设置多个key value
mget k1 k2 k3 #获得多个key的value
127.0.0.1:6379> set user:1 {name:zhangsan,age:3} #设置一个对象,编号为1
OK
127.0.0.1:6379> get user:1
"{name:zhangsan,age:3}"
127.0.0.1:6379> get user
(nil)
127.0.0.1:6379> mset user:2:name lisi user:2:age 3#同理用mset设置一个对象,编号为2
OK
127.0.0.1:6379> get user
(nil)
127.0.0.1:6379> mget user:2:name user:2:age
1) "lisi"
2) "3"
127.0.0.1:6379> getset db redis #先获得原来的值,再设置新的值
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mongdb
"redis"
127.0.0.1:6379> get db
"mongdb"

不会的命令可以到中文官网查: http://www.redis.cn/commands.html

List命令

所有list命令都是l开头

127.0.0.1:6379> lpush list one #将一个值或多个值,放入队列,从左边放入
(integer) 1
127.0.0.1:6379> lpush list two
(integer) 2
127.0.0.1:6379> lpush list three
(integer) 3
127.0.0.1:6379> lrange list 0 -1#获取list全部的值
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lrange list 0 1
1) "three"
2) "two"
127.0.0.1:6379> rpush list right#将一个值或多个值,从右边放入队列
(integer) 4
127.0.0.1:6379> lrange list 0 -1 
1) "three"
2) "two"
3) "one"
4) "right"
127.0.0.1:6379> lpop list#从左边移除队列第一个元素
"three"
127.0.0.1:6379> rpop list#从右边移除队列第一个元素
"right"
##list可以理解为是一个双向列表,l是队头,r是队尾,redis支持队列操作队列,队尾
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> lindex list 1 #得到指定下标的值
"three"
======================================
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "three"
3) "four"
4) "three"
5) "two"
6) "one"
127.0.0.1:6379> lrem list 1 one #删除一个one
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "four"
3) "three"
4) "two"
5) "one"
127.0.0.1:6379> lrem list 2 three #删除两个three
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "two"
3) "one"
==================================
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "hello1"
3) "hello2"
4) "hello3"
5) "hello4"
127.0.0.1:6379> ltrim list 1 2#通过下标截取指定的长度,这个list被改变,只剩下截取下来的元素
OK
127.0.0.1:6379> lrange list 0 -1
1) "hello1"
2) "hello2"
127.0.0.1:6379> rpoplpush list mylist#将原来list中的元素弹出,放入另一个列表mylist中
"hello2"
127.0.0.1:6379> lrange list 0 -1
1) "hello1"
127.0.0.1:6379> lrange mylist 0 -1
1) "hello2"
================================
127.0.0.1:6379> lset list 0 item #将列表中指定下标的值图换位另外一个值
OK
127.0.0.1:6379> lrange list 0 -1
1) "item"
127.0.0.1:6379> lset list 1 other #如果该下标不存在,则会报错
(error) ERR index out of range
=======================
127.0.0.1:6379> lrange list 0 -1
1) "item"
127.0.0.1:6379> linsert list before item other #在列表指定元素之前插入数据
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "other"
2) "item"
127.0.0.1:6379> linsert list after item after#在指定元素之后插入数据
(integer) 3
127.0.0.1:6379> lrange list 0 -1
1) "other"
2) "item"
3) "after"

set集合
127.0.0.1:6379> sadd myset hello #往set里添加参数
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> sadd myset li
(integer) 1
127.0.0.1:6379> smembers myset#获取set集合元素
1) "hello"
2) "world"
3) "li"
127.0.0.1:6379> sismember myset li#查询指定元素在不在set集合中
(integer) 1
127.0.0.1:6379> sismember myset lir
(integer) 0
======================================
127.0.0.1:6379> scard myset#获得set集合元素个数
(integer) 3
127.0.0.1:6379> srem myset 1
(integer) 0
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
3) "li"
127.0.0.1:6379> srem myset hello #移除指定元素,不可以用下角标
(integer) 1
127.0.0.1:6379> smembers myset
1) "world"
2) "li"
=====================================
set 是一个无序不重复的集合,所以操作几乎都是无序的

127.0.0.1:6379> SRANDMEMBER myset #随机抽选出一个元素
1) "world"
127.0.0.1:6379> SRANDMEMBER myset 1#随机抽选出指定个数元素
1) "li"
127.0.0.1:6379> SRANDMEMBER myset 1
1) "li"
=================================127.0.0.1:6379> sadd myset 1
(integer) 1
127.0.0.1:6379> sadd myset 12
(integer) 1
127.0.0.1:6379> sadd myset 123
(integer) 1
127.0.0.1:6379> sadd myset 1234
(integer) 1
127.0.0.1:6379> SMEMBERS myset#set是无序
1) "1"
2) "li"
3) "world"
4) "123"
5) "1234"
6) "12"
127.0.0.1:6379> spop myset#随机删除一个元素
"123"
127.0.0.1:6379> SMEMBERS myset
1) "world"
2) "1"
3) "1234"
4) "12"
5) "li"
==========================
127.0.0.1:6379> smove myset set li#将指定元素移动到另一个set集合中
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "world"
2) "1"
3) "1234"
4) "12"
127.0.0.1:6379> SMEMBERS set
1) "li"
======================================
127.0.0.1:6379> sadd key1 a
(integer) 1
127.0.0.1:6379> sadd key1 b
(integer) 1
127.0.0.1:6379> sadd key2 c
(integer) 1
127.0.0.1:6379> sadd key2 d
(integer) 1
127.0.0.1:6379> SDIFF key1 key2#差集key1中相对于key2的差集
1) "a"
2) "b"
127.0.0.1:6379> sadd key2 b
(integer) 1
127.0.0.1:6379> SINTER key1 key2#交集
1) "b"
127.0.0.1:6379> SUNIOn key1 key2#并集
1) "a"
2) "c"
3) "d"
4) "b"
Hash

Map集合,key-Map(key-{key,value})

127.0.0.1:6379> hmset myhash field1 hello field2 world
OK
127.0.0.1:6379> hgetall myhash
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> hlen myhash#获取hash表的字段数量
(integer) 2
=======================================
127.0.0.1:6379> HEXISTS myhash field1#判断指定字段是否存在
(integer) 1
127.0.0.1:6379> HEXISTS myhash field3
(integer) 0
127.0.0.1:6379> hkeys myhash#获得所有的field
1) "field1"
2) "field2"
127.0.0.1:6379> hvals myhash#获得所有的value
1) "hello"
2) "world"
=====================================
127.0.0.1:6379> hmset user:1 name zhangsan  age 3
OK
127.0.0.1:6379> hget user:1 name
"zhangsan"
127.0.0.1:6379> hget user:1 age
"3"
Zset(有序集合)

在set基础上,增加了一个值,set k1 v1 zset k1 score v1

127.0.0.1:6379> zadd key 1 one
(integer) 1
127.0.0.1:6379> zadd key 2 two 3 three
(integer) 2
127.0.0.1:6379> zrange key 0 -1
1) "one"
2) "two"
3) "three"
==========================================
127.0.0.1:6379> zadd name 25000 xiaohong #添加三个元素
(integer) 1
127.0.0.1:6379> zadd name 2000 xiaoming
(integer) 1
127.0.0.1:6379> zadd name 200 zhangsan
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE name -inf +inf#按负无穷和正无穷范围
1) "zhangsan"
2) "xiaoming"
3) "xiaohong"
127.0.0.1:6379> ZRANGEBYSCORE name -inf +inf withscores #排序并带score
1) "zhangsan"
2) "200"
3) "xiaoming"
4) "2000"
5) "xiaohong"
6) "25000"
127.0.0.1:6379> ZRANGEBYSCORE name -inf 2000  withscores #负无穷到 2000
1) "zhangsan"
2) "200"
3) "xiaoming"
4) "2000"
127.0.0.1:6379> ZREVRANGE name 0 -1 withscores#从大到小排序
1) "xiaohong"
2) "25000"
3) "xiaoming"
4) "2000"
5) "zhangsan"
6) "200"


转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039772.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号