Ameba读写分离_mycat分库分表_redis缓存 (3)

问题:通过redis-server启动时,之后不能编写linux命令,需要再次创建链接.造成编码不便

4.1.2 后台启动

解除IP绑定

 

 

关闭保护模式

 

开启后台运行

 

 

开启后台redis

redis-server redis.conf

ps -ef |grep redis

root      5847     1  0 01:45 ?        00:00:00 redis-server *:6379    

root      5852  2571  0 01:45 pts/1    00:00:00 grep redis

4.2 操作redis 4.2.1 进入客户端

执行命令:redis-cli

4.3 Redis的操作命令 4.3.1 String 类型操作

指令

 

说明

 

案例

 

set

 

设定key的值

 

set name tom

 

get

 

获取指定 key 的值

 

get name

 

strlen

 

获取key值的长度

 

strlen name

 

exists

 

检查给定 key 是否存在

 

exists name 返回1存在  0不存在

 

del

 

删除指定的key/key1 key2

 

del name1 name2

 

keys

 

命令用于查找所有符合给定模式 pattern 的 key

 

Keys * 查询全部的key值

Keys n?me 占位符

Keys name* 以name开头的key

 

mset

 

赋值多个key-value

 

mset key1 value1 key2 value2 key3 value3

同时赋值多个值

 

mget

 

获取多个key

 

Mget key1 key2 key3

 

append

 

对指定的key进行追加

 

append key 123456   value123456

append key " 123456" value 123456中间多一个空格

 

Type

 

查看key的类型

 

Type key1

127.0.0.1:6379> TYPE key1string

 

Flushdb

 

清空当前数据库

 

Flushdb 清空数据库

 

Select

 

切换数据库

 

Select 0-15 redis一共有16个数据库

 

FLUSHALL

 

清空全部数据库数据

 

flushall

 

Incr

 

自动增长1

 

Incr num  数据会自动加1

Incr string 数据库会报错

 

Decr

 

自动减1

 

Decr name 数据会自动减1

 

incrby

 

指定步长自增

 

Incrby 2 每次自增2

 

Decrby

 

指定步长自减

 

Decrby 2每次减2

 

Expire

 

指定key的失效时间单位是秒(s)

 

EXPIRE name1 5   5秒后数据失效

 

Ttl

 

查看key的剩余存活时间

 

Ttl name

-2表示失效

-1没有失效时间

 

Pexpire

 

设置失效时间(毫秒)

 

Pexpire name 1000 用于秒杀业务

 

Persist

 

撤销失效时间

 

撤销失效时间

 

 

指令

 

说明

 

案例

 

hset

 

Hset  key值 属性名 属性值

 

Hset user id 1

Hset user name tom

设置id和name的属性值

 

hget

 

获取指定 key的属性值

 

Hget user name  获取name属性值

 

hmset

 

Hmset user key value1 key2 value2

 

hmset user id 1 name tom age 18

 

hmget

 

hmget user id name age

 

hmget user id name age 获取user对象的id,name,age的属性值

 

hgetall

 

取出key的全部字段值和属性值

 

HGETALL user

 

 

 

hdel

 

删除key的指定字段

 

                    删除key的指定字段

 

 

 

Hkeys

 

查看key的全部字段

 

     HKEYS user

 

hvals

 

查看key的全部值

 

Hvals user

 

 

 

hlen

 

查看key的字段数

 

Hlen user  查看user的字段数

 
4.3.2 Redis集合数据类型

1.字符串类型  String

2.散列类型 hash

3.列表类型 list

4.集合类型 set

5.有序集合类型

1.散列类型

可以通过散列类型用来保存对象和属性的值

例如:user对象    {id:2,name:小明,age:19}

通过散列类型赋值不需要{}

 

4.3.3 List列表类型

List列表类型(list)是一个存储有序的元素的集合类型.List数据类型底层是一个双端列表.可以从左右分别进行写入操作

指令

 

说明

 

案例

 

lpush

 

将一个或多个值插入到列表左部插入

 

 LPUSH list1 1 2 3 4

 

rpush

 

在列表中添加一个或多个从列表右侧插入

 

RPUSH list1 5 6 7 8

 

lpop

 

从列表左侧移除元素,并且返回结果

 

 LPOP list1

 

rpop

 

从列表右侧移除元素,并且返回结果

 

RPOP list1

 

llen

 

获取list集合的元素个数

 

Llen list1

 

Lrange

 

获取指定区间内的片段值

 

 LRANGE list1 0 3

获取从左数第1个到第4个值

 LRANGE list1 -3 -1

从右数第三个到第一个数据

Lrange list1 0 -1 查询全部列表数据

 

 

 

Lrem

 

删除列表中指定的值

Irem key count value

当count>0,从左开始删除前count个值为value的元素

当count<0,从右侧开始删除前count个值为value的元素

当count=0时,删除所有value的元素

 

 LREM list1 2 2

从左数前2个为2的元素

 LREM list1 -2 3 

从右数前2个为3的元素

 LREM list1 0 4

删除全部为4的元素

 

Lindex

 

根据指定索引值查询元素

 

LINDEX list1 0   查找索引值为0的值

 LINDEX list1 -1 查询最右边的值

 

Lset

 

为指定索引赋值

 

 LSET list1 0 10

 

LINSERT

 

LINSERT key  before value1 value2

在value1之前插入value2

LINSERT list1 after 1 2

 

 

LINSERT list1 before 10 100

从左数第一个为10的元素前插入100

LINSERT list1 after 1 2

从左数第一个为1的值之后插入2

 

双端列表的数据特点:查询两端数据时速度较快,查询中间数据较慢.

4.3.4 redis集合类型

redis支持集合类型,并且每个集合的元素类型都可以不同,并且集合时无序的. 

指令

 

说明

 

案例

 

sadd

 

向集合添加一个或多个成员

 

sadd set a b c

 

scard

 

获取集合的成员数

 

SCARD set

 

srem

 

删除集合的指定元素

 

SREM set a  删除set中的a元素

 

smembers

 

查看集合的所有元素

 

SMEMBERS set

 

Sismember

 

查看元素是否属于集合

 

SISMEMBER set a 查看a是否属于set集合

 

sdiff

 

返回给定所有集合的差集

 

 

 

 

sinter

 

返回给定所有集合的交集

 

 

 

 

sunion

 

返回所有给定集合的并集

 

A={1,2,3}  B={2,3,4}

 SUNION a b   = 1,2,3,4

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyzgz.html