Redis入门命令大全(五大数据类型)

redis基础知识:

默认16个数据库,用的第0个数据库,可以用select切换数据库:select 3(切换到第三个数据库)。
DBSIZE:查看数据库大小。
set name meicong:设置一个key为name,value为meicong的kv键值对。
get name:获取key为name的value值。
keys *:查看所有的key。
FLUSHALL:清空所有数据库。
端口号:6379。
redis单线程:速度很快,基于内存操作,cpu不是redis性能瓶颈,redis瓶颈是机器内存和网络带宽
为什么单线程这么快?:
误区1:高性能的服务器一定是多线程的。
误区2:多线程(CPU会上下文切换)一定比单线程效率高。
核心:redis将所有数据放在内存中的,所以使用单线程效率就是最高的。
对于内存系统来说,没有上下文切换效率就是最高的。


五大数据类型:

redis三个作用:1.数据库 2.缓存 3.消息中间件MQ
EXISTS name:判断是否有name这个key,如果有就返回1,如果没有就返回0。
move name 1:移除name,1代表当前数据库。
EXPIRE name 10:设置过期时间,10秒后过期。
ttl name:查看当前key的剩余的时间。
type name:查看key的类型。

1.String类型:

APPEND:字符串追加作用。
APPEND key1 “hello”:往key1后面加hello。
STRLEN key1:获取key1的字符串长度。
incr views:增加1
decr views:减少1
INCRBY views 10:直接增加10
DECRBY views 10:减少10
获取字符串范围 range:
GETRANGE key1 0 3:获取key1的0~3区间
GETRANGE key1 0 -1:获取全部的字符串,等同于get key
SETRANGE key2 1 xx:把key2的内容的下标1处改成xx
setex:设置过期时间
setex key3 30 “hello”:设置key3的值为hello,30秒后过期
setnx:不存在再设置(如果存在,就失败)
setnx mykey "redis "
mset k1 v1 k2 v2 k3 v3:批量设置多个值。
mget :批量获得多个值。
msetnx k1 v1 k2 v2 :原子性操作,k1k2要嘛一起成功要嘛一起失败,如果不存在,设置。

set user:1{name:zhangsan,age:3}:设置一个user:1对象 值为json字符来保存一个对象
mset user:1:name zhangsan user:1:age 2(另一种写法)

2.List类型

list——>栈,队列,阻
LPUSH list one
LPUSH list two
LPUSH list three
显示
1)“three”
2)“two”
3)“one”
LRANGE list 0 -1:获取全部的值。
Rpush list righr:将一个值或者多个值,插入到列表尾部(右)
显示
1)“three”
2)“two”
3)“one”
4)“righr”

Lpop list:移除列表的第一个元素。
Rpop list:移除列表的最后一个元素。
Lindex list:通过下标获得list中的某一个值。
Llen list:返回列表的长度。
Lrem list 1 one:从list集合中移除指定的one。
lrem list 2 three:移除集合中2个three 。
ltrim mylist 1 2:截取指定的中间两个,通过下标。
rpoplpush mylsit myotherlist:移除列表最后一个元素,并将该元素添加到另外一个列表。
linsert mylist before “world” “other”:在mylist中"world"前面加上"other"。(也可以after向后插入)

3.Set类型

元素不能重复,无序不重复集合
sadd myset “hello”:往myset里添加"hello"。
SMEMBERS myset:查看指定set的所有值。
SISMEBER myset world:查看某个元素是否在集合中。
scard myset:查看myset中有多少元素。
srem myset hello:从myset中移除hello。
SRANDMEMBER myset:从myset中随机抽选出一个元素。
spop myset:随机删除一些set集合的元素。
smove myset myset2 “meicong”:把myset中"meicong"元素移动到myset2中。
数字集合类:
1.差集
SDIFF key1 key2:key1和key2的差集
2.交集(比如共同好友)
SINTER key1 key2
3.并集
SUNION key1 key2

4.Hash类型

Map集合,key-map 这个值是一个map集合。
hset myhash field1 meicong:设置myhash的key和value
hgetall myhash:显示出所有的元素。
hdel myhash field1:删除指定的key字段。
hkeys myhash:只获得所有的key。
hvals myhash:只获得所有的value。
hash更适合存储对象。

5.Zset类型

在set基础上增加了一个值,有序集合。
k1 score v1
zadd myset 1 one:给第一个位置加上one。
zadd myset 2 two 3 three:增加多个值。
ZRANGE myset 0 -1:获取myset的所有值。
ZRANGEBYSCORE salary -inf +inf:升序遍历输出。
zcard salary:获取有序集合中的个数。
zcount myset 1 3:获取指定区间的成员数量。

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务