redis小记
redis
1、redis是一款c语言编写的基于内存的kv存储,是目前市面上最流行的nosql开源项目,常用于缓存场景(优点高性能/寻址更快,缺点易失存储/价格更高)
2、redis快的原因:纯内存操作、单线程避免上下文切换、采用非阻塞IO多路复用机制(1个线程监控多个连接,一旦某个连接就绪,就能够通知应用程序进行相应读写,没有连接就绪时就交出cpu,不会产生阻塞)
数据类型
1、String是最基本类型,key都是String,value可以是其它类型
2、List字符串列表,底层是双向链表,对两端的操作性能很高,索引下标操作性能比较差。
3、Set和Zset,集合和有序集合,Zset每个成员关联了一个score用来排序,成员是去重的,但是score可以重复。
4、Hash类型,string类型的field和value的映射表,类似java的map
常用指令
以下为终端操作,对应操作查阅文档即可,这里只是简单记录
一般用python/scala/java客户端连接操作,可以查看对应客户端api
redis-cli -h "ip" -p "端口"
auth "密码"
set key:1 "value1"
get key:1
del key:1
exists key:1
expire key:1 3600 # set的时候默认不过期,需要设置过期时间;get不会刷新过期时间
ttl key:1
type key:1
hset key:1 field1 value1
hget key:1 field1
hdel key:1 field1
hexists key:1 field1
hlen key:1
lpush key:1 1
rpush key:1 2
lpop key:1
rpop key:1
llen key:1
sadd key:1 1
sismember key:1 1
srem key:1 1
scard key:1
zadd key:1 18 david
zadd key:1 20 tony
zrangebyscore key:1 18 19
zremrangebyscore key:1 18 19
zcount key:1 18 20
zcard key:1
info # 查看redis服务器各种信息