Brew Redis



  1. Brew Start Redis
  2. Brew Redis Cluster

Friday, I received a snazzy new M1 Macbook Pro in the mail. This article outlines how I was able to set it up for doing web development. We'll set up Homebrew, PHP, MySQL, Composer, and Laravel Valet. Let's jump in!

The previous article outlines first impressions from the perspective of someone upgrading from a 2013 mac.

Redis is an open-source data storage solution. It is primarily used as a database, cache storage, or message broker due to the way it stores key-value pairs. Redis stands out with its flexibility and high performance, wide language support, and high availability. Brew will install the newest version of redis (4.0.6 for now), if you don't config other things. So I'm not sure you installed version 3.2.0 on purpose or by mistake (maybe downloaded manually earlier). And always-show-logo config is not supported by 3.2.0.

Setting up an M1 mac for PHP development is not much different than other macs. Unless you're using Docker, which doesn't work on the new ARM processor (yet — they're working on it). I expected to have way more problems being an early adopter, but Apple has done a wonderful job with their Rosetta 2 translation layer. It mostly feels invisible, so (except for a few terminal commands like homebrew) you hardly even notice it is there.

Homebrew

Redis

First, we'll need to install Homebrew. They don't have an ARM-compatible build ready yet, so this is where we'll need to use some Rosetta flags on the command line.

Install Rosetta on the command line with the following:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

Next, add this function to your .zshrc file. It makes a nice arm alias for running commands with x86_64 architecture flags. Perhaps calling it x86 would be better? Shoutout to Matt Stauffer for posting this.

You'll need to run the homebrew commands with this prefix for now. We can copy the script from their site, add our arm prefix, and homebrew should install!

Menu

PHP, MySQL, and Composer

Now that homebrew is installed, the rest of the Valet install is pretty much stock (except for Redis, which we'll get to in the next section).

PHP

Just run arm brew install phpit's that easy! You may want to restart your terminal after this.

MySQL

Normal besides the arm prefix again.

Logs

Composer

Run the download script from Composer's website, then move the PHAR file to the bin folder. Also we'll add the global composer vendor folder to our system path.

Now add the following line to your .zshrc file

Valet and Redis

Installing Valet should work as normal now. Run the following commands:

After that, I also ran cd ~/Code && valet park .

Installing Redis

Redis presented the only real speed bump I've encountered thus far. It installs via brew, but starting the Redis server doesn't work correctly (even though brew says it does). Until then, we can start the server manually.

First, run arm brew install redis to install it.

Next, install the Redis PHP extension with PECL — pecl install redis.

Starting the Server

Normally you'd use arm brew services start to start Redis (and at login), but it's not working yet. That command just runs redis-server under the hood. For some reason, this command only works with sudo right now. The workaround is to run this to start Redis server as a daemon:

Cleaning up after PECL (optional)
By default, PECL plops a new extension='redis.so' line at the top of the main php.ini file. I prefer to move this line to its own extension file. These steps are optional, but it's more in line with how extensions should be loaded in modern php versions.

Remove the extension='redis.so' line that PECL added at the top of /usr/local/etc/php/7.4/php.ini.

Then create a file at /usr/local/etc/php/7.4/conf.d/ext-redis.ini with these contents:

After doing all of this, I'd recommend running valet restart. Enjoy developing Laravel apps on your new mac!

If you encounter any problems or have any thoughts about this process, reach out to me on Twitter, I'd love to hear about them!

Brew Start Redis

Enjoy this article? Follow me on Twitter for more tips, articles and links.

🚀🚀🚀 A faster, better and more stable redis desktop manager, compatible with Linux, windows, mac. What's more, it won't crash when loading a large number of keys.

Windows

Download latest exe package from release [or gitee in China], double click to install.

Redis

Linux

Download latest AppImage package from release [or gitee in China], chmod +x, double click to run.

Mac

Brew Redis Cluster

  • Download latest dmg package from release [or gitee in China], double click to install.
  • Or by brew: brew install --cask another-redis-desktop-manager
  • Or sponsor by app store, It's not free, and I will be very grateful to you.

Enjoy!

Feature Log

  • 2021-02-28: Connection Color Tag && Search History Support
  • 2021-02-03: Multiple SelectDelete && Msgpack Viewer Support
  • 2020-12-30: Tree View Support!!!
  • 2020-11-03: Binary View Support && SSH PassparseTimeout Support
  • 2020-09-04: SSH Cluster Support && Extension Commands Support
  • 2020-06-18: SSL/TLS Support!!!
  • 2020-04-28: Page Zoom && Big Key Loads With Scan && Auto Json
  • 2020-04-18: Unvisible KeyValue Format Support
  • 2020-04-04: Cluster Support!!!
  • 2020-03-13: Dark Mode Support!!! && JsonView In Other Place
  • 2020-02-16: SSH Private Key Support
  • 2020-02-13: Open Cli Console In Tabs
  • 2019-06-14: Custom Font-Family Support
  • 2019-05-28: Key List Resizable
  • 2019-05-09: Search Support In Hash List Set Zset
  • 2019-04-26: Auto Updater
  • 2019-04-09: SSH Tunnel Connection Support
  • 2019-04-01: Extract Search Support
  • 2019-02-22: Single Connection Support
  • 2019-01-08: Project Start

Dev Build Setup

Linux Or Mac

If linux errors like this:

Windows

Build Package

Sponsor

  • Give me a star !

  • Through OpenCollective

  • Through Paypal

  • If you are a Mac user, you can purchase this software from the app store to sponsor, and then let the app store automatically update it for you.

  • Wechat sponsor code

Contributors

This project exists thanks to all the people who contribute.

License

Support