Redis和mongodb常用命令

Redis

1、启动redis
service redisd start
2、停止redis
service redisd stop
3、查看目前系统使用端口情况:
ss -tanl
4、测试连接redis 连接0号库(尽量在根目录下~输入)
redis-cli
(使用redis直接1、4即可)
1 查询redis数据库里面有所用key
127.0.0.1:6379> keys *

增删改查:
Redis命令有输入提示,不用管把命令输入完整即可
在这里插入图片描述
在这里插入图片描述
退出redis
在这里插入图片描述

Redis常见命令
对value操作的命令
exists(key):确认一个key是否存在
del(key):删除一个key
type(key):返回值的类型
keys(pattern):返回满足给定pattern的所有key
randomkey:随机返回key空间的一个
keyrename(oldname, newname):重命名key
dbsize:返回当前数据库中key的数目
expire:设定一个key的活动时间(s)
ttl:获得一个key的活动时间
select(index):按索引查询
move(key, dbindex):移动当前数据库中的key到dbindex数据库
flushdb:删除当前选择数据库中的所有key
flushall:删除所有数据库中的所有key
对string操作的命令
set(key, value):给数据库中名称为key的string赋予值value
get(key):返回数据库中名称为key的string的value
getset(key, value):给名称为key的string赋予上一次的value
mget(key1, key2,…, key N):返回库中多个string的value
setnx(key, value):添加string,名称为key,值为value
setex(key, time, value):向库中添加string,设定过期时间time
mset(key N, value N):批量设置多个string的值
msetnx(key N, value N):如果所有名称为key i的string都不存在
incr(key):名称为key的string增1操作
incrby(key, integer):名称为key的string增加integer
decr(key):名称为key的string减1操作
decrby(key, integer):名称为key的string减少integer
append(key, value):名称为key的string的值附加value
substr(key, start, end):返回名称为key的string的value的子串
对List 操作的命令
rpush(key, value):在名称为key的list尾添加一个值为value的元素
lpush(key, value):在名称为key的list头添加一个值为value的 元素
llen(key):返回名称为key的list的长度
lrange(key, start, end):返回名称为key的list中start至end之间的元素
ltrim(key, start, end):截取名称为key的list
lindex(key, index):返回名称为key的list中index位置的元素
lset(key, index, value):给名称为key的list中index位置的元素赋值
lrem(key, count, value):删除count个key的list中值为value的元素
lpop(key):返回并删除名称为key的list中的首元素
rpop(key):返回并删除名称为key的list中的尾元素
blpop(key1, key2,… key N, timeout):lpop命令的block版本。
brpop(key1, key2,… key N, timeout):rpop的block版本。
rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
对Set操作的命令
sadd(key, member):向名称为key的set中添加元素member
srem(key, member) :删除名称为key的set中的元素member
spop(key) :随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名称为key的set的基数
sismember(key, member) :member是否是名称为key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
sunion(key1, (keys)) :求并集
sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
smembers(key) :返回名称为key的set的所有元素
srandmember(key) :随机返回名称为key的set的一个元素
对Hash操作的命令
hset(key, field, value):向名称为key的hash中添加元素field
hget(key, field):返回名称为key的hash中field对应的value
hmget(key, (fields)):返回名称为key的hash中field i对应的value
hmset(key, (fields)):向名称为key的hash中添加元素field
hincrby(key, field, integer):将名称为key的hash中field的value增加integer
hexists(key, field):名称为key的hash中是否存在键为field的域
hdel(key, field):删除名称为key的hash中键为field的域
hlen(key):返回名称为key的hash中元素个数
hkeys(key):返回名称为key的hash中所有键
hvals(key):返回名称为key的hash中所有键对应的value
hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

Mongodb

Mongodb启动
1、mongod --config /usr/local/mongodb/mongodb.conf
在这里插入图片描述
2、mongo
在这里插入图片描述
mongod参数说明

mongod 的主要参数有:
dbpath:
数据文件存放路径,每个数据库会在其中创建一个子目录,用于防止同一个实例多次运行的 mongod.lock 也保存在此目录中。
logpath
错误日志文件
logappend
错误日志采用追加模式(默认是覆写模式)
bind_ip
对外服务的绑定 ip,一般设置为空,及绑定在本机所有可用 ip 上,如有需要可以单独指定
port
对外服务端口。Web 管理端口在这个 port 的基础上+1000
fork
以后台 Daemon 形式运行服务
journal
开启日志功能,通过保存操作日志来降低单机故障的恢复时间,在 1.8 版本后正式加入,取代在 1.7.5 版本中的 dur 参数。
syncdelay
系统同步刷新磁盘的时间,单位为秒,默认是 60 秒。
directoryperdb
每个 db 存放在单独的目录中,建议设置该参数。与 MySQL 的独立表空间类似maxConns最大连接数
repairpath
执行 repair 时的临时目录。在如果没有开启 journal,异常 down 机后重启,必须执行repair操作
常见命令
show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
use :切换当前数据库,这和MS-SQL里面的意思一样
db.help():显示数据库操作命令,里面有很多的命令
db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
MongoDB没有创建数据库的命令,但有类似的命令。
修复当前数据库 db.repairDatabase();
查看当前使用的数据库
db.getName();
db; db和getName方法是一样的效果,都可以查询当前使用的数据库
显示当前db状态 db.stats();
当前db版本 db.version();
查看当前db的链接机器地址 db.getMongo();
基本操作
添加文档:

db.users.insert({ 
    “_id”:ObjectId("52c3c518498a9646a48133a2"),
    “name”:“likang”, 
    “email”:“likang@qq.com”
}); 
db.users.save({ 
    “_id”:ObjectId("52c3c518498a9646a48133a2"),
    “name”:“likang2”, 
    “email”:“likang2@qq.com”
}); 

insert 当_id存在时报错
save 当_id存在时覆盖更新
删除文档:

//删除全部
db.user.remove(); 
//删除指定记录
db.user.remove({“name”:“likang”}); 

//删除user集合

    db.user.drop();
    更新文档:
    原⽂档:
   

 { 
        “_id”:ObjectId("52c3c518498a9646a48133a2"),
        “name”:“likang”, 
        “email”:“likang@qq.com”
    } 
    !
修改后的⽂档:
{ 
    “_id”:ObjectId("52c3c518498a9646a48133a2"),
    “name”:“likang”, 
    “email”:[
        “likang@qq.com”, 
        “likang2@qq.com” 
    ] 
}

var doc = db.users.findOne({"name" : “likang”});
doc.email =[ 
    “likang@qq.com”, 
    “likang2@qq.com” 
]; 
db.users.update({ "name" : "likang" }, doc);

// 更新:指定第三个参数为true可以开启upsert模式
//根据条件查找不到数据则创建⼀条新的
db.users.update({ "name" : "likang" }, doc, true);

搬运于:(https://my.oschina.net/u/3680357/blog/1607009)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值