This article is part of a longer series covering the n98-magerun power tool
Today we’ll be covering
cache commands. You can see the internal descriptions for these commands by using the top-level
$ n98-magerun.phar list admin ... Available commands for the "admin" namespace: admin:notifications Toggles admin notifications admin:user:change-password Changes the password of a adminhtml user. admin:user:create Create admin user. admin:user:list List admin users. ... $ n98-magerun.phar list cache ... Available commands for the "cache" namespace: cache:clean Clean magento cache cache:disable Disables magento caches cache:enable Enables magento caches cache:flush Flush magento cache storage cache:list Lists all magento caches ...
The commands in the
admin hierarchy relate to Magento’s backend admin console, (sometimes referred to as the
adminhtml area). With
n98-magerun you can get a list of all the admin users in a particular system
$ n98-magerun.phar admin:user:list +-----+----------+----------------------+--------+ | id | username | email | status | +-----+----------+----------------------+--------+ | 1 | admin | firstname.lastname@example.org | active | | 2 | astorm | email@example.com | active | | 3 | alan | firstname.lastname@example.org | active | +-----+----------+----------------------+--------+
There’s also an interactive command for creating new users
$ n98-magerun.phar admin:user:create Username:test Email:email@example.com Password:password12345luggage Firstname:Bob Lastname:Hoffner User test successfully created
While useful, it appears this command doesn’t allow you to assign users to a particular admin role — you’ll need to login and assign a role through the GUI.
The final user command,
admin:user:change-password will let you change an admin user’s password.
$ n98-magerun.phar admin:user:change-password Username:astorm Password:password12345luggage Password successfully changed
This command is particularly useful if you’re inheriting a Magento system, setting up a development environment, and no one knows the password for the super user account.
There’s one more
admin command to cover, but this one isn’t in the
user category. The
admin:notifications command allows you to toggle the admin notification bar (and the occasional accompanying modal ajax alert) on or off.
$ n98-magerun.phar admin:notifications Admin Notifications hidden
This is accomplished by toggling the Disable Module Output system configuration setting for the
If there’s one thing Magento teaches you, its the art of cache programming. Magento has multiple different types of data it caches — you can see a list of the caches, including their enabled/disabled state, with the
$ n98-magerun.phar cache:list Cache list +-------------+----------+ | code | status | +-------------+----------+ | config | enabled | | layout | enabled | | block_html | enabled | | translate | enabled | | collections | enabled | | eav | enabled | | config_api | enabled | | config_api2 | disabled | +-------------+----------+
You can also enable every cache type with the
$ n98-magerun.phar cache:enable
or disable every cache type with the
$ n98-magerun cache:disable
Unfortunately, there doesn’t appear to be a way to enable or disable individual cache types. If you need that functionality, you’ll need to hop into the GUI admin.
cache:clean command allows you finely grained control over which cache you want to clean.
$ n98-magerun.phar cache:clean config config cache cleaned
as well as an argument-less version that will clear each Magento cache type
$ n98-magerun.phar cache:clean block_html cache cleaned collections cache cleaned config cache cleaned config_api cache cleaned config_api2 cache cleaned eav cache cleaned layout cache cleaned translate cache cleaned
Cleaning a cache means removing all its keys from the cache storage engine, which will prompt Magento to rebuild the cache items.
Despite having a typed cache system, it’s posible to stick items in the Magento cache without assigning the data to a particular type. There’s also Zend Framework code that drops items into the cache without regards for Magento’s types. To get this data out of the cache, you’ll need to flush the entire cache store engine with the
$ n98-magerun.phar cache:flush Cache cleared
Cleaning the cache is like a surgeon going in and cutting out the parts o the cache that are no longer needed. Flushing the cache is like chemo therapy — obliterating everything to ensure the parts you want are gone.