redis数据库1-基础

1.Redis的安装和部署

启动redis的命令
1./usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
2. /usr/local/redis/bin/redis-cli 


停止redis实例

1./usr/local/redis/bin/redis-cli shutdown

  或者

2.pkill redis-server


其他知识点



1.解压gzip的安装包命令 tar -zxvf /redis. tar.gz

2.netstat -tunpl | grep 6379   查看6379端口有没有被占用,被占用则说明redis已启动
或者 ps -ef | grep redis

3.ctrl+c 结束当前进程 

4.vi /redis.conf    命令模式转换为插入模式  i,修改配置文件,插入模式转换为命令模式ESC,保存退出:wq

2.redis数据类型(key-value)

1.string

1.设置key-value/获取value

set name huang/get name

2.setnx判断key为name是否不存在,不存在返回1,新增key-value,若存在返回0,不修改value值

3.setex设置key-value的过期时间

setex color 10 red (10秒内有效)

4.setrange替换,根据索引替换等长

get name
setrange name 6 qq.com

5.mset设置多个键值对

mset key1 1 key2 2(key1=1,key2=2)

6.msetnx设置多个键值对,若已经存在任何一个key,该语句失效

msetnx key2 2 key3 3

7.getrange按索引截取字符

get name 
getrange name 0 4
huang

8.mget批量获取多个value值

mget key1 key2 key3

9.incr递增/decr递减

get key6
cil (空)
incr key6
1
incr key6
2

10.incrby增指定次数/decrby减少指定次数

set key6 1
incrby key6 5
6

11.append追加value值

set name 1
append name .net
1.net

12.strlen查看value长度

set name ab
strlen name
2

2.hashes

1.hset设置hash field为指定值

hset user:001 name huang(user:001 001号用户,可理解为一张表)

2.hget获取value

hget user:001 name

3.hsetnx设置表的value为指定值,若已存在返回0,失败

hsetnx user:002 name 1

4.hmset同时设置多个key-value

hmset user:003 name huang age 23 sex 1

5.hmget同时获取多个value

hmget user:003 name age sex

6.hincrby增加指定次数

hset user:003 age 5
hincrby user:003 age 20
25

7.hexists判断key是否存在,存在返回1

hexists user:003 age

8.hlen返回表中key的数量

hlen user:003

9.hdel删除指定key-value

hdel user:003 age

10.hkeys返回表中的所有key

hkeys user:003

11.hvals返回表中所有value

hvals user:003

12.hgetall返回表中所有key-value

hgetall user:003

3.list

redis list为链表结构,key可理解为表名,可向表头或表尾添加、删除数据,可为栈,也可为队列。


1.lpush从头部压入元素

lpush list1 hello

lpush list1 world

lrange list1 0 -1

world

hello


2.rpush从尾部压入元素

rpush list2 lijie

rpush list2 2

lrange list2 0 -1

lijie 

2


3.linsert   ...   before 向中间插入元素

lpush list3 one

lpush list3 two

linsert list3 before one three

lrange list3 0 -1

two

three

one


4.Lset设置制定下标的值

rpush list4 hello

lset list4 0 world

lrange list4 0 -1

world


5.lrem删除n个相同元素

lpush list5 one

lpush list5 one

lpush list5 one

rpush list5 three

lrem list5 3 one

lrange list5 0 -1

three


6.ltrim  n m 删除不在n-m下标范围内的元素

rpush list6 one

rpush list6 two

rpush list6 three

rpush list6 four

ltrim list6 1 2

lrange list6 0 -1

two

three

7.lpop从头部删除元素

rpush list7 one

rpush list7 two

rpush list7 three

lpop list7

lrange list7 0 -1

two

three


8.rpop从尾部删除元素

rpop list7

lrange list7 0 -1

two


9.rpoplpush从第一个list尾部弹出元素压入第二个list头部

rpoplpush list8 list9


10.lindex返回该下标(索引)的值

lrange list10 0 -1

three

two

lindex list10 0 

three

lindex list10 1

two


11.llen返回该list元素个数

rpush list11 one

rpush list11 two

llen list11

2


4.set是string类型无序集合

1.sadd向名称为key的set中添加元素,不允许重复

sadd myset1 one

sadd myset1 two

sadd myset1 two

smembers myset1

two

one


2.srem删除名称为key的set中的元素

sadd myset2 one

sadd myset2 two

srem myset2 two

smembers myset2

one


3.spop随机弹出一个元素,并删除

sadd myset3 one

sadd myset3 two

sadd myset3 three

spop myset3

two

spop myset3

three

smembers myset3

one


4.sdiff返回所有给定key与第一个key的差集(第一个set比第二个多的元素)

smembers myset1

one

two

smsmbers myset2

one

three

sdiff myset1 myset2

two

sdiff myset2 myset1

three


5.sdiffstore返回与4一样的差集,并存为另一个key

sdiffstore myset5 myset1 myset2

smembers myset5

two


6.sinter返回所有给定key的交集

smembers myset1

one

two

smsmbers myset2

one

three

sinter myset1 myset2

one


7.sinterstore将6的交集存为另一个key

sinterstore myset6 myset1 myset2

smembers myset6 one


8.sunion返回所有给定key的并集

smembers myset1

one

two

smembers myset2

two

three

sunion myset1 myset2

one 

three

two


9.sunionstore将8的并集存为另一个Key

sunionstore myset9 myset1 myset2

smembers myset9

two

one

three


10.smove a b one 将a里的one元素移动到b

smembers myset2

three

two

smove myset2 myset7 three

smembers myset7

three

smembers myset2

two


11.scard返回名称为Key的元素的个数

smembers myset2

three

two

scard myset2

2


12.sismembers测试一个元素是否为一个set的元素

smembers myset2 

two

sismembers myset2 two

1

sismembers myset2 one

0


13.srandmember随机返回一个元素,不删除

smembers myset7

two

one

three

sranfmembers myset7

one


5.zet有序的set,并有一个序列号属性

1.zadd向名称为key的zset添加元素及序列号

zadd myzset1 1 one

zadd myzset1 2 two

zadd myzset1 3 two

zrange myzset1 0 -1 withscores

one

1

two

3


2.zrem删除zset中的元素

zrange myzset1 0 -1 withscores

one

1

two

3

zrem myzset1 two

zrange myzset1 0 -1 withscores

one

1


3.zincrby若已经存在该元素,则+序列号,若不存在,则新增

zrange myzset1 0 -1 withscores

one

1

zincrby myzset1 2 one

zrange myzset1 0 -1withscores

one

3


4.zrank返回名称为key的zset中元素的索引值

zrange myzset2 0 -1 withscores

one

1

two

2

zrank myzset2 two

1


5.zrevrank与4相反找索引值

zrank myzset2 two

0


6.zrevrange与zrange相反排序


7.zrankbyscore去范围内序列号的所有数据

zrange myzset3 0 -1 withscores

one

1

two

2

three

3

zrangebyscore myzset3 2 3 withscore

two

2

three

3


8.zcount返回给定范围内序列号的元素数量

zcount myzet3 2 3

2


9.zcard返回该zset内所有元素的数量

zcard myzset3

3


10.zremrangebyrank删除给定索引范围的所有元素

zrange myzset10 0 -1 withscores

one

1

two

2

three

3

zremrangebyrank myzset10 1 2

zrange myzset10 0 -1 withscores

one

1


11.zremrangebyscore 删除给定序列号范围内的所有元素

zrange myzset11 0 -1 withscores

one

1

two

2

three

3

zremrangbyscore myzset11 1 2

zrange myzset11 0 -1 withscores

three

3






猜你喜欢

转载自blog.csdn.net/q975583865/article/details/78367675