初识Redis

 

Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server,该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。

Redis特点:
Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。

Redis应用场景:
因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。
将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

进入Redis

redis-cli --raw

退出

exit

redis五种数据类型及操作

①string  字符串

#设置
set key value 例: ( set name 'lucy' )
# 获取
get key 例: ( get name )
# key是唯一的,不能用同一个key 不然就会覆盖

# 设置 key的同时,设置过期时间
set key value ex seconds 例: ( set age 18 ex 20 )

setex key seconds value 例: ( setex sex 20 '男' )

 追加

# 给已有的value,再添加新的值
# append key value
append name hehe
设置/获取多个

#设置多个 string
mset key value key value..
mset username 'lucy' password '123'

#获取多个
mget key key key ...
mget username password name

 

②list 列表

设置

lpush 左添加 (栈)
lpush key value

lpush my_list a b c d

rpush 右添加 (队列)
rpush key value

rpush my_rlist a b c d

查看

lrange key start stop
查看所有
lrange my_list 0 -1

获取列表的元素个数

llen key      

llen  my_list

查看位于lindex位置上的元素

lindex key  index    

删除

删除左边第一个lpop

lpop key        

lpop  my_list

删除右边第一个rpop

rpop key        

rpop  my_list

删除指定 lrem

lrem lrem  key m value

m>0 表示从左往右删除m个value

m<0 表示从右往左删除m个value

m=0 表示删除所有value

hash 哈希

设置 hset

hset key field value
hset user name lucy

获取 hget

hget key field
hget user name

删除 hdel

hdel key field

hdel user name

设置多个 hmset

hmset key field value [field value]

获取多个 hmget

hmget key field field

获取全部 field value         hgetall 

hgetall key

获取所有field   hkeys

hkeys key

获取所有value  hvals

hvals key

set 集合  唯一、无序

设置  sadd

sadd key value [value]

获取  smembers 

smembers key

 

删除 

指定删除 srem

srem key value

随机删除 spop

spop key

移动一个集合到另一个集合 smove  

smove oldkey newkey value

判断集合存在某个值 sismember   1表示存在,0表示不存在

sismember key value

交集 sinter 

sinter key key ...

把多个集合的交集合并到另外一个集合 sinterstore

sinterstore newkey key key ...

并集 sunion

sunion key key ...

把多个集合的并集合并到另外一个集合 sunionstore

sunionstore newkey key key ...

差集 sdiff  左边和右边对比

sdiff key key 

把多个集合的差集合并到另外一个集合 sdiffstore

sdiffstore newkey key key

获取集合中元素个数 scard

scard key

随机返回一个集合中的元素 srandmember

srandmember key

zset 有序集合

设置 zadd 

zadd key score value

获取

正序 zrange

zrange key start stop

倒序 zrevrange

zrevrange key start stop

删除 zrem

zrem key value

索引位置获取

正序 zrank

zrank key value

反序 zreverank

zrevrank key value

查看有序集合元素个数zcard

zcard key

返回集合中score在给定区间的元素 zrangebyscore

zrangebyscore key score score withscores

返回集合中score在给定区间的数量zcount

zcount key min max

查看score值 zscore

zscore key value

删除集合中排名在指定区间的元素 zremrangebyrank

zremrangebyrank key min max

删除集合中score在指定区间的元素 zremrangebyscore

zremrangebyscore key min max

key 操作

查看所有key

keys *

删除key

del key

查看key是否存在  ,存在返回 1, 不存在返回 0   exists

exists key

查看key类型

type key

查看过期时间

# -1 表示永久 -2 表示 不存在
ttl key 例: ( ttl name )

设置过期时间,时间单位是秒

# 给已经存在 key,设置过期时间
expire key seconds 例: ( expire name 20 )

运算 (整数)

set num value  #自动识别字符串里面的整数

incr key          #value自动+1

decr key        #value自动-1

incrby  key  n     #value自动+n

decrby key n      #value自动-n

 

posted @ 2018-05-08 18:13  轻风飞落叶  阅读(185)  评论(0编辑  收藏  举报